版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、網(wǎng)絡(luò)和通信程序設(shè)計(jì)(C#)語(yǔ)言第五章 字符串與字符編碼5.1 String類在C#中,字符串類型將一組字符視為一個(gè)整體進(jìn)行處理。C#使用關(guān)鍵字string來(lái)定義字符串類型,對(duì)應(yīng)著.NET類庫(kù)的System.String類。常用字符串操作方法方法作用Compare比較兩個(gè)指定的String對(duì)象CompareTo將此實(shí)例與指定的對(duì)象String進(jìn)行比較,并返回二者相對(duì)值的指示Concat連接String的一個(gè)或多個(gè)實(shí)例,或Object的一個(gè)或多個(gè)實(shí)例的值的String表示形式Contains返回一個(gè)值,該值指示指定的 String 對(duì)象是否出現(xiàn)在此字符串中。Copy創(chuàng)建一個(gè)與指定的String具有
2、相同值的String的新實(shí)例CopyTo將指定數(shù)目的字符從此實(shí)例中的指定位置復(fù)制到Unicode字符數(shù)組中的指定位置Equals確定兩個(gè)String對(duì)象是否具有相同的值Format將指定的String中的每個(gè)格式項(xiàng)替換為相應(yīng)對(duì)象的值的文本等效項(xiàng)IndexOf報(bào)告String或一個(gè)或多個(gè)字符在此字符串中的第一個(gè)匹配項(xiàng)的索引IndexOfAny報(bào)告指定Unicode字符數(shù)組中的任意字符在此實(shí)例中第一個(gè)匹配項(xiàng)的索引Insert在此實(shí)例中的指定索引位置插入一個(gè)指定的String實(shí)例LastIndexOf報(bào)告指定的Unicode字符或String在此實(shí)例中的最后一個(gè)匹配項(xiàng)的索引位置op_Equality
3、確定兩個(gè)指定的String對(duì)象是否具有同一值op_Inequality確定兩個(gè)指定的String對(duì)象是否具有不同的值常用字符串操作方法PadLeft右對(duì)齊字符,在左邊用空格或指定的Unicode字符填充以達(dá)定的總長(zhǎng)度PadRight左對(duì)齊字符,在右邊用空格或指定的Unicode字符填充以達(dá)到指定的總長(zhǎng)度ReferenceEquals確定指定的Object實(shí)例是否是相同的實(shí)例。(從Object繼承)Remove從此實(shí)例中刪除指定個(gè)數(shù)的字符Replace將指定Unicode字符或String的所有匹配項(xiàng)替換為其他指定的Unicode字符或StringStartsWith確定String實(shí)例的開(kāi)頭是
4、否與指定的字符串匹配Substring從此實(shí)例檢索子字符串ToCharArray將此實(shí)例中的字符復(fù)制到 Unicode 字符數(shù)組ToLower返回此String轉(zhuǎn)換為小寫(xiě)形式的副本ToString將此實(shí)例的值轉(zhuǎn)換為StringToUpper返回此String轉(zhuǎn)換為大寫(xiě)形式的副本Trim從此實(shí)例的開(kāi)始位置和末尾移除一組指定字符的所有匹配項(xiàng)TrimEnd從此實(shí)例的結(jié)尾移除數(shù)組中指定的一組字符的所有匹配項(xiàng)TrimStart從此實(shí)例的開(kāi)頭移除數(shù)組中指定的一組字符的所有匹配項(xiàng)5.2 StringBuilder類與String的區(qū)別與聯(lián)系String對(duì)象串聯(lián)操作總是用現(xiàn)有字符串和新數(shù)據(jù)創(chuàng)建新的對(duì)象Stri
5、ngBuilder對(duì)象維護(hù)一個(gè)緩沖區(qū),以便容納新數(shù)據(jù)的串聯(lián)主要方法Remove方法Replace方法Insert方法Append方法AppendLine方法AppendFormat方法5.3 字符集與字符編碼計(jì)算機(jī)的字符集主要字符集ASCII 字符集,單字節(jié)美國(guó),1967年關(guān)于:GB2312 字符集,雙字節(jié)中國(guó),1981年BIG5 字符集,雙字節(jié)中國(guó)臺(tái)灣五公司,1984年GB18030 字符集,單/雙/四字節(jié)中國(guó),2000年Unicode字符集,0-0 x10FFFFUnicode 學(xué)術(shù)學(xué)會(huì),1994年UTF-8,8位變長(zhǎng)UTF-16,16位無(wú)符號(hào)UTF-32,32位無(wú)符號(hào)ASCII碼表Enc
6、oding類.NET Framework 提供以下Encoding類的實(shí)現(xiàn)以支持當(dāng)前 Unicode 編碼和其他編碼ASCIIEncoding 將 Unicode 字符編碼為單個(gè) 7 位 ASCII 字符。UTF7Encoding 使用 UTF-7 編碼對(duì) Unicode 字符進(jìn)行編碼。UTF8Encoding 使用 UTF-8 編碼對(duì) Unicode 字符進(jìn)行編碼。UnicodeEncoding 使用 UTF-16 編碼對(duì) Unicode 字符進(jìn)行編碼。UTF32Encoding 使用 UTF-32 編碼對(duì) Unicode 字符進(jìn)行編碼。/zh-cn/library/system.text.
7、encoding(VS.80).aspx字符與字符編碼的轉(zhuǎn)換將文符串轉(zhuǎn)換成字節(jié)數(shù)組Encoding.ASCII.GetBytes(String)將字節(jié)數(shù)組轉(zhuǎn)換成字符串Encoding.ASCII.GetString(Byte)/散列值、密文直接轉(zhuǎn)換將出現(xiàn)亂碼5.4 字節(jié)(數(shù)組)可視化處理方法Base64編碼是一種基于64個(gè)(26=64)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)的表示方法。常用于處理文本數(shù)據(jù)的場(chǎng)合,表示、傳輸、存儲(chǔ)二進(jìn)制數(shù)據(jù),如加解密及網(wǎng)絡(luò)編碼??梢詫?3*8 bit 表示為 4*6 bit。關(guān)于:實(shí)現(xiàn)Convert.ToBase64String(Byte)Convert.FromBase64
8、String(String)字節(jié)的16進(jìn)制顯示:(散列值常用的表示法)tmpi.ToString(X2)/tmp為字節(jié)數(shù)組任務(wù)4:1.從身份證號(hào)碼中提取信息輸入身份證號(hào)從中提取出地區(qū)碼、出生日期、性別等信息2.設(shè)計(jì)字符編碼轉(zhuǎn)換器實(shí)現(xiàn)字符與Base64字符的互轉(zhuǎn)實(shí)現(xiàn)字符的16進(jìn)制顯示及其相互轉(zhuǎn)換基于不同的字符編碼,將字符轉(zhuǎn)換成16進(jìn)制顯示并比較3.選擇一張照片,將其顯示為Base64文本 *第六章 密碼術(shù)基礎(chǔ)與網(wǎng)絡(luò)編程6.1 密碼術(shù)基礎(chǔ) 網(wǎng)絡(luò)信息安全信息存儲(chǔ)安全和信息傳輸安全。信息傳輸安全是指如何保證信息在網(wǎng)絡(luò)傳輸?shù)倪^(guò)程中不被泄露與不被攻擊。保證網(wǎng)絡(luò)中信息安全的主要技術(shù)是數(shù)據(jù)的加密與解密。加密與
9、解密在密碼學(xué)中,將源信息稱為明文;對(duì)明文進(jìn)行某種變換后生成的隱藏了其真實(shí)內(nèi)容的信息稱為密文;將明文變換為密文的過(guò)程稱為加密;將密文經(jīng)過(guò)逆變換恢復(fù)成明文的過(guò)程稱為解密。計(jì)算機(jī)網(wǎng)絡(luò)加密技術(shù)鏈路加密鏈路加密是目前常用的一種加密方法,通常用硬件在網(wǎng)絡(luò)層以下的物理層和數(shù)據(jù)鏈路層中實(shí)現(xiàn),它用于保護(hù)通信節(jié)點(diǎn)間的數(shù)據(jù)。 節(jié)點(diǎn)加密 節(jié)點(diǎn)加密是鏈路加密的改進(jìn),其目的是克服鏈路加密在節(jié)點(diǎn)處易遭非法存取的缺點(diǎn)。在協(xié)議傳輸層上進(jìn)行加密,是對(duì)源點(diǎn)和目標(biāo)節(jié)點(diǎn)間傳輸?shù)臄?shù)據(jù)進(jìn)行加密保護(hù)。 端-端加密網(wǎng)絡(luò)層以上的加密,通常稱為端-端加密。端-端加密是面向網(wǎng)絡(luò)高層主體進(jìn)行的加密,即在協(xié)議表示層上對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,而不對(duì)下層協(xié)議
10、信息加密。協(xié)議信息以明文形式傳輸,用戶數(shù)據(jù)在中間節(jié)點(diǎn)不需要加密。 數(shù)據(jù)加密模型消息源加密器解密器消息宿密鑰源傳輸或存儲(chǔ)安全信道數(shù)據(jù)加密表達(dá)式加密:C=En(Ke,P)P:信息明文K:密鑰En:算法C:信息密文解密:P=Dn(Kd,C)傳統(tǒng)加密技術(shù)替代密碼(字符操作)定義:明文中的每一個(gè)字符被替換成密文中的另外一個(gè)字符簡(jiǎn)單替代密碼 凱撒密碼(循環(huán)移位密碼):把明文中所有的字母都用它右邊的第k 個(gè)字母替代,并認(rèn)為Z后邊又是A ROT13:用字母表里am的字符來(lái)代替nz,用nz的字符來(lái)代替 am字符Eg: “v ybir lbh!” ? 多表替代密碼(明文:how are you,密碼:your)P
11、=HOWAREYOU K=YOURYOURY Ek (P)=FCQRPSSFS 傳統(tǒng)密碼技術(shù)簡(jiǎn)單異或(按位操作)00=0 01=1 10=1 11=0 加密:1001 1100 = 0101解密:0101 1100 = 1001對(duì)稱密碼技術(shù)非對(duì)稱密碼技術(shù)密碼個(gè)數(shù)1個(gè)2個(gè)算法速度較快較慢算法對(duì)稱性對(duì)稱,解密密鑰可以從加密密鑰中推算出來(lái)不對(duì)稱,解密密鑰不能從加密密鑰中推算出來(lái)主要應(yīng)用領(lǐng)域數(shù)據(jù)的加密和解密對(duì)數(shù)據(jù)進(jìn)行數(shù)字簽名、確認(rèn)、鑒定、密鑰管理和數(shù)字封裝等對(duì)稱加密技術(shù)加密和解密過(guò)程均采用同一密鑰 DES與AES非對(duì)稱加密技術(shù)加密和解密過(guò)程采用不同的密鑰RSA與ECC現(xiàn)代加密技術(shù)對(duì)稱加密技術(shù)DES(數(shù)
12、據(jù)加密算法,1976)64位分組加密AES(高級(jí)加密算法,2001)128位分組加密128/192/256位密鑰初始變換64位的密文逆初始變換64位明文64位的密鑰加密變換16輪子密鑰生成DES原理:接收者將一對(duì)密碼中的一個(gè)(公鑰)公開(kāi),另一個(gè)秘密保存發(fā)送者使用接收者的公鑰加密信息接收者使用私鑰解密出原文數(shù)學(xué)模型:C=E(Kp, P)P=D(Ks, C)特點(diǎn):加密密碼(公鑰)Kp是公開(kāi)信息,而解密密鑰(私鑰) Ks是保密的。公鑰和私鑰相互關(guān)聯(lián),但不可能根據(jù)公鑰計(jì)算出私鑰。 非對(duì)稱加密技術(shù)HTTPS:電子信封技術(shù)的具體應(yīng)用一對(duì)矛盾對(duì)稱加密:速度快,密鑰管理困難非對(duì)稱加密:速度慢,解決密鑰管理問(wèn)題
13、電子信封技術(shù)HTTPS(安全的HTTP通道,在HTTP下加入SSL層):客戶端向服務(wù)器發(fā)送請(qǐng)求(包括版本、算法等)服務(wù)器向客戶端發(fā)送響應(yīng)以及證書(shū)(含公鑰)客戶端產(chǎn)生對(duì)稱密鑰,用服務(wù)器公鑰加密后發(fā)送服務(wù)器用私鑰解密,得到對(duì)稱密鑰雙方確認(rèn)該對(duì)稱密鑰后,進(jìn)行保密通信(保密性)數(shù)據(jù)的完整性驗(yàn)證:報(bào)文鑒別技術(shù) Hash函數(shù)也稱消息摘要(MD:Message Digest),將可變長(zhǎng)度的報(bào)文M作為單向散列函數(shù)的輸入,然后得出一個(gè)固定長(zhǎng)度的標(biāo)志 H(M),稱為Hash值(哈希值)表達(dá)式:MD=H(M)Hash算法MD算法(MD5,128位)SHA算法(SHA-1,160位)HMAC算法報(bào)文鑒別碼 MAC (
14、Message Authentication Code)用一個(gè)密鑰生成的一個(gè)小的數(shù)據(jù)塊追加在報(bào)文的后面。表達(dá)式:MAC = F(K,M)數(shù)據(jù)的不可抵賴性:數(shù)字簽名技術(shù)數(shù)字簽名就是為了達(dá)到簽名的效果,附加在數(shù)據(jù)單元上的一些數(shù)據(jù)。數(shù)字簽名的要素:簽名信息能被接收者讀取發(fā)送者事后不能抵賴(信息內(nèi)容及簽名事實(shí))接受者不能偽造簽名數(shù)字簽名的實(shí)現(xiàn)產(chǎn)生信息原文的摘要用私鑰對(duì)摘要進(jìn)行加密(簽名)將原文和簽名一起傳輸接收者用發(fā)送者的公鑰解密簽名得到摘要產(chǎn)生信息原文的摘要并與上述簽名摘要比較數(shù)字簽名技術(shù)示意圖6.2 .NET密碼術(shù)編程基礎(chǔ) 提供包括安全的數(shù)據(jù)加密與解密、確保數(shù)據(jù)的完整性,以及處理數(shù)字簽名和證書(shū)等加
15、密服務(wù)核心加密類分為三層,如右圖6.2.1 哈希(散列)算法及編程哈希函數(shù)是現(xiàn)代密碼系統(tǒng)的基礎(chǔ)。哈希函數(shù)將任意長(zhǎng)度的二進(jìn)制字符串映射為固定長(zhǎng)度的小二進(jìn)制字符串(稱為哈希值/散列值)。哈希值用作表示大量數(shù)據(jù)的固定大小的唯一值。哈希函數(shù)通常用于數(shù)字簽名和保持?jǐn)?shù)據(jù)完整性等。哈希函數(shù)的特點(diǎn):在計(jì)算時(shí)不可能將兩個(gè)不同的輸入通過(guò)哈希算法獲取相同的值。如果相應(yīng)的數(shù)據(jù)匹配,則兩個(gè)數(shù)據(jù)集的哈希應(yīng)該匹配。數(shù)據(jù)的少量更改會(huì)在哈希值中產(chǎn)生不可預(yù)知的大量更改。哈希算法的編程實(shí)現(xiàn).NET 哈希算法類都繼承自HashAlgorithm抽象類。類說(shuō)明KeyedHashAlgorithm顯示所有加密哈希算法實(shí)現(xiàn)均必須從中派生的
16、抽象類。MD5CryptoServiceProvider使用加密服務(wù)提供程序 (CSP) 提供的實(shí)現(xiàn),計(jì)算輸入數(shù)據(jù)的 MD5 哈希值。SHA1CryptoServiceProvider使用加密服務(wù)提供程序 (CSP) 提供的實(shí)現(xiàn)計(jì)算輸入數(shù)據(jù)的 SHA1 哈希值。MD5表示MD5哈希算法的所有實(shí)現(xiàn)均從中繼承的抽象類。RIPEMD160表示 MD160 哈希算法的所有實(shí)現(xiàn)均從中繼承的抽象類。SHA1計(jì)算輸入數(shù)據(jù)的SHA1哈希值。SHA256計(jì)算輸入數(shù)據(jù)的SHA256哈希值。SHA384計(jì)算輸入數(shù)據(jù)的SHA384哈希值。SHA512計(jì)算輸入數(shù)據(jù)的SHA512哈希值。哈希(散列)編程實(shí)例/獲取字符編碼
17、byte aaa = Encoding.UTF8.GetBytes(str);/使用MD5CryptoServiceProvider類創(chuàng)建md5對(duì)象MD5CryptoServiceProvider md = new MD5CryptoServiceProvider();/也可以使用MD5類創(chuàng)建md5對(duì)象/MD5 md = MD5.Create();/計(jì)算md5值byte bbb = md.ComputeHash(aaa);/顯示處理StringBuilder sb = new StringBuilder();foreach (byte tmp in bbb) sb.Append(tmp.ToS
18、tring(X2);return sb.ToString();6.2.2 對(duì)稱加密算法及編程特點(diǎn):算法公開(kāi)、計(jì)算量小、加密速度快、加密效率高。主要算法:DES、3DES、RC5、AES等分組密碼的工作模式電子密碼本 (electronic codebook mode,ECB )密碼分組鏈接 (cipher block chaining, CBC )密碼反饋 (cipher feedback, CFB)輸出反饋 (output feedback, OFB)計(jì)數(shù)器 (counter, CTR )算法工作模式中的初始向量 IVSymmetricAlgorithm類 (留意CBC,Key,IV)/zh
19、-cn/library/system.security.cryptography.symmetricalgorithm(v=VS.80).aspx對(duì)稱加密的主要算法(一)DEA/DES數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA),數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)使用一個(gè)56位的密鑰以及附加的8位奇偶校驗(yàn)位,產(chǎn)生最大64位的分組大小3DES,Triple DES三重?cái)?shù)據(jù)加密算法(Triple Data Encryption Algorithm,TDEA),用雙長(zhǎng)度(128位)密鑰K=(KL|KR)將64位明文數(shù)據(jù)塊(分組)進(jìn)行
20、3次DES加密/解密。加密:Y = DES(KL)DES-1(KR)DES(KLX)解密:X = DES-1(KL)DES (KR) DES-1(KLY)對(duì)稱加密的主要算法(二)AES加密算法高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard),又稱Rijndael加密法,是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。AES加密數(shù)據(jù)塊分組長(zhǎng)度必須為128位,密鑰長(zhǎng)度可以是128、192或256位加解密處理的參數(shù)密鑰的長(zhǎng)度與填充初始化向量的長(zhǎng)度與填充:長(zhǎng)度與數(shù)據(jù)塊分組長(zhǎng)度一致SymmetricAlgorithm 的主要成員屬性描述BlockSize 獲取或設(shè)置加密操作的塊大小(以位為
21、單位)FeedbackSize 獲取或設(shè)置加密操作的反饋大?。ㄒ晕粸閱挝唬㊣V 獲取或設(shè)置對(duì)稱算法的初始化向量 (IV)Key 獲取或設(shè)置對(duì)稱算法的密鑰KeySize 獲取或設(shè)置對(duì)稱算法所用密鑰的大?。ㄒ晕粸閱挝唬㎜egalBlockSizes 獲取對(duì)稱算法支持的塊大?。ㄒ晕粸閱挝唬㎜egalKeySizes 獲取對(duì)稱算法支持的密鑰大?。ㄒ晕粸閱挝唬㎝ode 獲取或設(shè)置對(duì)稱算法的運(yùn)算模式Padding 獲取或設(shè)置對(duì)稱算法中使用的填充模式方法描述Clear 釋放由 SymmetricAlgorithm 類使用的所有資源Create 創(chuàng)建用于執(zhí)行對(duì)稱算法的加密實(shí)例CreateDecryptor 用
22、指定的密鑰和初始化向量創(chuàng)建一個(gè)對(duì)稱解密器對(duì)象 CreateEncryptor 用指定的密鑰和初始化向量創(chuàng)建一個(gè)對(duì)稱加密器對(duì)象 GenerateIV 為對(duì)稱加密算法生成一個(gè)隨機(jī)的初始化向量(IV),并重寫(xiě)IV屬性中所存儲(chǔ)的值 GenerateKey 為對(duì)稱加密算法生成一個(gè)隨機(jī)密鑰(Key),并重寫(xiě)Key屬性的值 ValidKeySize 確定指定的密鑰大小對(duì)當(dāng)前算法是否有效 對(duì)稱加密算法及編程.NET 在 SymmetricAlgorithm 類的基礎(chǔ)上,給出了抽象算法實(shí)現(xiàn)類DES、RC2、TripleDES和Rijndael,并在此基礎(chǔ)上給出了具體加密方案實(shí)現(xiàn)類。AES加密編程實(shí)現(xiàn)Byte bKey = Encoding.UTF8.GetBytes(Keystr.PadRight(32); Byte bIV = Encoding.UTF8.GetBytes(IVstr.PadRight(16); Byte Data = Encoding.UTF8.GetBytes(Datastr); /創(chuàng)建內(nèi)存流MemoryStream ms = new MemoryStream();/創(chuàng)建AES對(duì)象,并內(nèi)存流對(duì)象包裝成加密器對(duì)象R
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 殘障活動(dòng)兒童策劃方案(3篇)
- 班級(jí)團(tuán)年活動(dòng)策劃方案(3篇)
- 車間清潔衛(wèi)生管理制度(3篇)
- 《GAT 974.58-2011消防信息代碼 第58部分:消防水源分類與代碼》專題研究報(bào)告
- 中學(xué)學(xué)生社團(tuán)活動(dòng)經(jīng)費(fèi)保障制度
- 養(yǎng)老院心理健康支持制度
- 養(yǎng)鴨技術(shù)培訓(xùn)課件
- 企業(yè)人力資源配置制度
- 養(yǎng)鴨保苗技術(shù)培訓(xùn)課件
- 交通違法行為舉報(bào)獎(jiǎng)勵(lì)制度
- 深圳市鹽田區(qū)2025年數(shù)學(xué)六上期末綜合測(cè)試試題含解析
- DB5203∕T 38-2023 特色酒莊旅游服務(wù)等級(jí)劃分與評(píng)定
- 四川省成都市嘉祥外國(guó)語(yǔ)學(xué)校2024-2025學(xué)年七年級(jí)數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 華為客戶分級(jí)管理制度
- 雙向轉(zhuǎn)診職責(zé)與患者體驗(yàn)提升
- 2025年中考道德與法治三輪沖刺:主觀題常用答題術(shù)語(yǔ)速查寶典
- 2025屆北京豐臺(tái)區(qū)高三二模高考語(yǔ)文試卷試題(含答案詳解)
- 《四川省普通國(guó)省道養(yǎng)護(hù)預(yù)算編制辦法》及配套定額解讀2025
- 論語(yǔ)的測(cè)試題及答案
- 《機(jī)械制圖(第五版)》 課件 第9章 裝配圖
- 教師年薪合同協(xié)議
評(píng)論
0/150
提交評(píng)論