{"id":213,"date":"2011-12-23T13:11:12","date_gmt":"2011-12-23T13:11:12","guid":{"rendered":"979d472a84804b9f647bc185a877a8b5"},"modified":"2011-12-23T13:11:12","modified_gmt":"2011-12-23T13:11:12","slug":"","status":"publish","type":"post","link":"https:\/\/www.xiaobo.li\/notes\/archives\/213","title":{"rendered":"C#\u5b9e\u73b0md5\u52a0\u5bc6 sha1\u52a0\u5bc6 sha256\u52a0\u5bc6 sha384\u52a0\u5bc6 sha512\u52a0\u5bc6 des\u52a0\u5bc6\u89e3\u5bc6"},"content":{"rendered":"<p>\u540e\u53f0\u4e00\u76f4\u7528md5\u52a0\u5bc6,\u4e00\u5929\u7fa4\u91cc\u4eba\u95ee,\u9664\u4e86MD5\u8fd8\u6709\u5176\u5b83\u7684\u52a0\u5bc6\u65b9\u6cd5\u5417?\u5f53\u65f6\u53ea\u77e5\u9053\u8fd8\u6709\u4e2aSHA,\u4f46\u600e\u4e48\u5b9e\u73b0\u4ec0\u4e48\u7684\u90fd\u4e0d\u6e05\u695a,\u4e8e\u662f\u5f53\u7f51\u4e0a\u627e\u4e86\u4e0b,\u628a\u51e0\u79cd\u5e38\u89c1\u7684\u52a0\u5bc6\u65b9\u6cd5\u90fd\u6574\u7406\u4e86\u4e0b,\u7528winform\u5199\u4e86\u4e2a\u7a0b\u5e8f,\u5982\u56fe:<br \/>\n<a id=\"ematt:108\" href=\"\/notes\/content\/uploadfile\/201112\/394659692a460258b45a99f1424ea35720111223051627.jpg\" target=\"_blank\"><img decoding=\"async\" border=\"0\" alt=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" src=\"\/notes\/content\/uploadfile\/201112\/thum-394659692a460258b45a99f1424ea35720111223051627.jpg\" \/><\/a><a id=\"ematt:109\" href=\"\/notes\/content\/uploadfile\/201112\/efaf98db2eac3a61946ca0282ae6ddd420111223051627.jpg\" target=\"_blank\"><img decoding=\"async\" border=\"0\" alt=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" src=\"\/notes\/content\/uploadfile\/201112\/thum-efaf98db2eac3a61946ca0282ae6ddd420111223051627.jpg\" \/><\/a><span><br \/>\n<\/span> <\/p>\n<\/p>\n<p><span><span>\u5173\u952e\u4ee3\u7801<\/span><\/span><\/p>\n<p><span><span>using System.Security;<br \/>\nusing System.Security.Cryptography;<br \/>\nusing System.Web;<br \/>\nusing System.IO;<br \/>\n<\/span><\/span><\/p>\n<\/p>\n<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#ff0000;\"> \/\/\uff2d\uff245\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u7684<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/type \u7c7b\u578b\uff0c16\u4f4d\u8fd8\u662f32\u4f4d\uff0c16\u4f4d\u5c31\u662f\u53d632\u4f4d\u7684\u7b2c8\u523016\u4f4d<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string DoMd5Encode(string pwd,string type)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] result = Encoding.Default.GetBytes(pwd);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] output = md5.ComputeHash(result);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (type == \"16\")<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return BitConverter.ToString(output).Replace(\"-\", \"\").ToLower().Substring(8,16);&nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return BitConverter.ToString(output).Replace(\"-\", \"\").ToLower();&nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/span><\/span><\/p>\n<p><span><span> <\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#ff0000;\"> \/\/\/ &lt;summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ \u5bf9\u5b57\u7b26\u4e32\u8fdb\u884cSHA1\u52a0\u5bc6<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;\/summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"strIN\"&gt;\u9700\u8981\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;returns&gt;\u5bc6\u6587&lt;\/returns&gt;<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string SHA1_Encrypt(string Source_String)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] StrRes = Encoding.Default.GetBytes(Source_String);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HashAlgorithm iSHA = new SHA1CryptoServiceProvider();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StrRes = iSHA.ComputeHash(StrRes);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder EnText = new StringBuilder();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (byte iByte in StrRes)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EnText.AppendFormat(\"{0:x2}\", iByte);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return EnText.ToString();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#ff0000;\"> \/\/\/ &lt;summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ SHA256\u52a0\u5bc6\uff0c\u4e0d\u53ef\u9006\u8f6c<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;\/summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"str\"&gt;string str:\u88ab\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;returns&gt;\u8fd4\u56de\u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32&lt;\/returns&gt;<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private string SHA256Encrypt(string str)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Security.Cryptography.SHA256 s256 = new System.Security.Cryptography.SHA256Managed();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] byte1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte1 = s256.ComputeHash(Encoding.Default.GetBytes(str));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s256.Clear();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Convert.ToBase64String(byte1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#ff0000;\"> \/\/\/ &lt;summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ SHA384\u52a0\u5bc6\uff0c\u4e0d\u53ef\u9006\u8f6c<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;\/summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"str\"&gt;string str:\u88ab\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;returns&gt;\u8fd4\u56de\u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32&lt;\/returns&gt;<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private string SHA384Encrypt(string str)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Security.Cryptography.SHA384 s384 = new System.Security.Cryptography.SHA384Managed();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] byte1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte1 = s384.ComputeHash(Encoding.Default.GetBytes(str));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s384.Clear();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Convert.ToBase64String(byte1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<\/p>\n<p>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color:#ff0000;\">\/\/\/ &lt;summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ SHA512\u52a0\u5bc6\uff0c\u4e0d\u53ef\u9006\u8f6c<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;\/summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"str\"&gt;string str:\u88ab\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;returns&gt;\u8fd4\u56de\u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32&lt;\/returns&gt;<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private string SHA512Encrypt(string str)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Security.Cryptography.SHA512 s512 = new System.Security.Cryptography.SHA512Managed();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] byte1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte1 = s512.ComputeHash(Encoding.Default.GetBytes(str));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s512.Clear();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Convert.ToBase64String(byte1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<\/p>\n<\/p>\n<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u9ed8\u8ba4\u5bc6\u94a5\u5411\u91cf<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private byte[] Keys = { 0xEF, 0xAB, 0x56, 0x78, 0x90, 0x34, 0xCD, 0x12 };<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#ff0000;\"> \/\/\/ &lt;summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ DES\u52a0\u5bc6\u5b57\u7b26\u4e32<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;\/summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"encryptString\"&gt;\u5f85\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"encryptKey\"&gt;\u52a0\u5bc6\u5bc6\u94a5,<span style=\"color:#00ff00;\">\u8981\u6c42\u4e3a8\u4f4d<\/span>&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;returns&gt;\u52a0\u5bc6\u6210\u529f\u8fd4\u56de\u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\uff0c\u5931\u8d25\u8fd4\u56de\u6e90\u4e32&lt;\/returns&gt;<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string EncryptDES(string encryptString, string encryptKey)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] rgbIV = Keys;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MemoryStream mStream = new MemoryStream();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cStream.Write(inputByteArray, 0, inputByteArray.Length);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cStream.FlushFinalBlock();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Convert.ToBase64String(mStream.ToArray());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return encryptString;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color:#ff0000;\">\/\/\/ &lt;summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ DES\u89e3\u5bc6\u5b57\u7b26\u4e32<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;\/summary&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"decryptString\"&gt;\u5f85\u89e3\u5bc6\u7684\u5b57\u7b26\u4e32&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;param name=\"decryptKey\"&gt;\u89e3\u5bc6\u5bc6\u94a5,<span style=\"color:#00ff00;\">\u8981\u6c42\u4e3a8\u4f4d,\u548c\u52a0\u5bc6\u5bc6\u94a5\u76f8\u540c<\/span>&lt;\/param&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/ &lt;returns&gt;\u89e3\u5bc6\u6210\u529f\u8fd4\u56de\u89e3\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\uff0c\u5931\u8d25\u8fd4\u6e90\u4e32&lt;\/returns&gt;<br \/>\n<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string DecryptDES(string decryptString, string decryptKey)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] rgbIV = Keys;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] inputByteArray = Convert.FromBase64String(decryptString);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MemoryStream mStream = new MemoryStream();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cStream.Write(inputByteArray, 0, inputByteArray.Length);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cStream.FlushFinalBlock();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Encoding.UTF8.GetString(mStream.ToArray());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return decryptString;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }\n<\/p>\n<p><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u540e\u53f0\u4e00\u76f4\u7528md5\u52a0\u5bc6,\u4e00\u5929\u7fa4\u91cc\u4eba\u95ee,\u9664\u4e86MD5\u8fd8\u6709\u5176\u5b83\u7684\u52a0\u5bc6\u65b9\u6cd5\u5417?\u5f53\u65f6\u53ea\u77e5\u9053\u8fd8\u6709\u4e2aSHA,\u4f46\u600e\u4e48\u5b9e\u73b0\u4ec0\u4e48\u7684\u90fd\u4e0d\u6e05\u695a,\u4e8e\u662f\u5f53\u7f51\u4e0a\u627e\u4e86\u4e0b,\u628a\u51e0\u79cd\u5e38\u89c1\u7684\u52a0\u5bc6\u65b9\u6cd5\u90fd\u6574\u7406\u4e86\u4e0b,\u7528winform\u5199\u4e86\u4e2a\u7a0b\u5e8f,\u5982\u56fe:<br \/><a id=\"ematt:108\" href=\"\/notes\/content\/uploadfile\/201112\/394659692a460258b45a99f1424ea35720111223051627.jpg\" target=\"_blank\"><img decoding=\"async\" border=\"0\" alt=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" src=\"\/notes\/content\/uploadfile\/201112\/thum-394659692a460258b45a99f1424ea35720111223051627.jpg\" \/><\/a><a id=\"ematt:109\" href=\"\/notes\/content\/uploadfile\/201112\/efaf98db2eac3a61946ca0282ae6ddd420111223051627.jpg\" target=\"_blank\"><img decoding=\"async\" border=\"0\" alt=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" src=\"\/notes\/content\/uploadfile\/201112\/thum-efaf98db2eac3a61946ca0282ae6ddd420111223051627.jpg\" \/><\/a><span><br \/><\/span><\/p>\n<p><span><span>\u5173\u952e\u4ee3\u7801<\/span><\/span><\/p>\n<p><span><span>using System.Security;<br \/>\nusing System.Security.Cryptography;<br \/>\nusing System.Web;<br \/>\nusing System.IO;<br \/><\/span><\/span><\/p>\n<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#ff0000;\"> \/\/\uff2d\uff245\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u7684<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#038;nbsp...<\/span><\/span><\/span><\/p>\n<p> <a href=\"https:\/\/www.xiaobo.li\/notes\/archives\/213\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[273],"tags":[],"class_list":["post-213","post","type-post","status-publish","format-standard","hentry","category-article"],"_links":{"self":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/comments?post=213"}],"version-history":[{"count":0,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/213\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/media?parent=213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/categories?post=213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/tags?post=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}