DES和md5加密和解密-在添加引用中添加對system.web的引用。
進口?系統。安全。密碼術
進口?系統
進口?系統。文本
進口?系統。網
'''?& lt總結& gt
'''?DES加密類
'''?& lt/summary & gt;
'''?& lt備註& gt& lt/備註& gt
公共?班級?解密
公共?Sub?DESEncrypt()
結束?潛水艇
公共?共享?功能?加密(ByVal?文字?作為?字符串)?作為?線
回歸?加密(文本,"12345678")
結束?功能
公共?共享?功能?加密(ByVal?文字?作為?字符串,?ByVal?斯基?作為?字符串)?作為?線
暗淡?德斯?作為?新的?DESCryptoServiceProvider()
暗淡?inputByteArray?作為?字節()
inputByteArray?=?編碼。Default.GetBytes(文本)
德斯。鑰匙?=?ascii編碼。ASCII.GetBytes(系統。web . security . forms authentication . hashpasswordforstoringconfigfile(sKey,?" md5 ")。子串(0,8))
德斯。四?=?ascii編碼。ASCII.GetBytes(系統。web . security . forms authentication . hashpasswordforstoringconfigfile(sKey,?" md5 ")。子串(0,8))
暗淡?ms?作為?新的?系統。IO.MemoryStream()
暗淡?cs?作為?新的?CryptoStream(毫秒,德斯。CreateEncryptor(),?CryptoStreamMode。寫)
cs。寫(inputByteArray,?0,?inputByteArray。長度)
cs。FlushFinalBlock()
暗淡?ret?作為?新的?StringBuilder()
暗淡?b?作為?字節
為了什麽?每個?b?在?托阿雷女士
ret。append format(“{ 0:X2 }”,?b)
然後
回歸?ret。ToString()
結束?功能
公共?共享?功能?解密(ByVal?文字?作為?字符串)?作為?線
回歸?解密(正文,?"12345678")
結束?功能
公共?共享?功能?解密(ByVal?文字?作為?字符串,?ByVal?斯基?作為?字符串)?作為?線
暗淡?德斯?作為?新的?DESCryptoServiceProvider()
暗淡?萊恩。作為?整數
萊恩。=?文字。長度?/?2
暗淡?inputByteArray(len?-?1)?作為?字節
暗淡?x,?我?作為?整數
為了什麽?x?=?0?去哪?萊恩。-?1
我?=?轉換。ToInt32(正文。子串(x?*?2,?2),?16)
inputByteArray(x)?=?CType(我,字節)
然後
德斯。鑰匙?=?ascii編碼。ASCII.GetBytes(系統。web . security . forms authentication . hashpasswordforstoringconfigfile(sKey,?" md5 ")。子串(0,8))
德斯。四?=?ascii編碼。ASCII.GetBytes(系統。web . security . forms authentication . hashpasswordforstoringconfigfile(sKey,?" md5 ")。子串(0,8))
暗淡?ms?作為?新的?系統。IO.MemoryStream()
暗淡?cs?作為?新的?CryptoStream(毫秒,德斯。CreateDecryptor(),?CryptoStreamMode。寫)
cs。寫(inputByteArray,?0,?inputByteArray。長度)
cs。FlushFinalBlock()
回歸?編碼。Default.GetString(ms.ToArray())
結束?功能
結束?班級
下面是調用方法。
公共?班級?表單1
私人?Sub?Button1_Click(ByVal?寄件人?作為?系統。對象,?ByVal?e?作為?系統。EventArgs)?手柄?按鈕1。點擊?'加密'
暗淡?str_Encrypt?作為?字符串?=?DESEncrypt。Encrypt("要加密的文本可以是任意長度"?“密碼,可以很長。如果省略此參數,則默認為12345678”)
結束?潛水艇
私人?Sub?Button2_Click(ByVal?寄件人?作為?系統。對象,?ByVal?e?作為?系統。EventArgs)?手柄?按鈕2。點擊?[通信]解密
暗淡?str_Decrypt?作為?字符串?=?DESEncrypt。解密("妳要解密的文本?可以是任意長度“,?“加密時使用的密碼,如果省略此參數,則默認為12345678”)
結束?潛水艇