国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#中簡單調用MD5方法以及MD5簡介

2019-11-17 03:06:10
字體:
來源:轉載
供稿:網友
C#中簡單調用md5方法以及MD5簡介

MD5簡介: MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發明,經MD2、MD3和MD4發展而來。MD5將任意長度的“字節串”變換成一個128bit的大整數,并且它是一個不可逆的字符串變換算法。換句話說就是,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串,從數學原理上說,是因為原始的字符串有無窮多個,這有點象不存在反函數的數學函數。MD5算法:第一步:增加填充 增加padding使得數據長度(bit為單位)模512為448。如果數據長度正好是模512為448,增加512個填充bit,也就是說填充的個數為1-512。第一個bit為1,其余全部為0。第二步:補足長度 將數據長度轉換為64bit的數值,如果長度超過64bit所能表示的數據長度的范圍,值保留最后64bit,增加到前面填充的數據后面,使得最后的數據為512bit的整數倍。也就是32bit的16倍的整數倍。在RFC1321中,32bit稱為一個Word。第三步:初始化變量:用到4個變量,分別為A、B、C、D,均為32bit長。初始化為:A: 01 23 45 67B: 89 ab cd efC: fe dc ba 98D: 76 54 32 10第四步:數據處理:首先定義4個輔助函數:F(X,Y,Z) = XY v not(X) ZG(X,Y,Z) = XZ v Y not(Z)H(X,Y,Z) = X xor Y xor ZI(X,Y,Z) = Y xor (X v not(Z))其中:XY表示按位與,X v Y表示按位或,not(X)表示按位取反。xor表示按位異或。函數中的X、Y、Z均為32bit。定義一個需要用到的數組:T(i),i取值1-64,T(i)等于abs(sin(i))的4294967296倍的整數部分,i為弧度。假設前三步處理后的數據長度為32*16*Nbit第五步:輸出:最后得到的ABCD為輸出結果,共128bit。A為低位,D為高位。 MD5在asp.net(C#)中的實現:

C#代碼收藏代碼
  1. //欲進行md5加密的字符串
  2. stringtest="123abc";
  3. //獲取加密服務
  4. System.Security.Cryptography.MD5CryptoService

只需最后一段語句即可進行MD5加密,無需引入任何包.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤庆县| 出国| 修武县| 内黄县| 荆州市| 二手房| 武胜县| 上高县| 鄢陵县| 绍兴县| 郧西县| 东阳市| 乡宁县| 瓦房店市| 阳信县| 太康县| 萍乡市| 奇台县| 湖州市| 嘉黎县| 永康市| 阆中市| 浑源县| 临沭县| 仲巴县| 磐石市| 乌拉特前旗| 图片| 大荔县| 林芝县| 湘潭县| 饶阳县| 阿克苏市| 黑水县| 白玉县| 金平| 睢宁县| 上饶县| 桐乡市| 娱乐| 塔河县|