亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET加密解密算法分享

2024-07-10 13:28:55
字體:
來源:轉載
供稿:網友

這篇文章主要分享的是ASP.NET實現的加密解密算法,非常的簡單使用,有需要的小伙伴快來參考下吧。

 

 
  1. #region DES加密解密 
  2. /// <summary> 
  3. /// DES加密 
  4. /// </summary> 
  5. /// <param name="strSource">待加密字串</param> 
  6. /// <param name="key">32位Key值</param> 
  7. /// <returns>加密后的字符串</returns> 
  8. public string DESEncrypt(string strSource) 
  9. return DESEncrypt(strSource, DESKey); 
  10. public string DESEncrypt(string strSource, byte[] key) 
  11. SymmetricAlgorithm sa = Rijndael.Create(); 
  12. sa.Key = key; 
  13. sa.Mode = CipherMode.ECB; 
  14. sa.Padding = PaddingMode.Zeros; 
  15. MemoryStream ms = new MemoryStream(); 
  16. CryptoStream cs = new CryptoStream(ms, sa.CreateEncryptor(), CryptoStreamMode.Write); 
  17. byte[] byt = Encoding.Unicode.GetBytes(strSource); 
  18. cs.Write(byt, 0, byt.Length); 
  19. cs.FlushFinalBlock(); 
  20. cs.Close(); 
  21. return Convert.ToBase64String(ms.ToArray()); 
  22. /// <summary> 
  23. /// DES解密 
  24. /// </summary> 
  25. /// <param name="strSource">待解密的字串</param> 
  26. /// <param name="key">32位Key值</param> 
  27. /// <returns>解密后的字符串</returns> 
  28. public string DESDecrypt(string strSource) 
  29. return DESDecrypt(strSource, DESKey); 
  30. public string DESDecrypt(string strSource, byte[] key) 
  31. SymmetricAlgorithm sa = Rijndael.Create(); 
  32. sa.Key = key; 
  33. sa.Mode = CipherMode.ECB; 
  34. sa.Padding = PaddingMode.Zeros; 
  35. ICryptoTransform ct = sa.CreateDecryptor(); 
  36. byte[] byt = Convert.FromBase64String(strSource); 
  37. MemoryStream ms = new MemoryStream(byt); 
  38. CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Read); 
  39. StreamReader sr = new StreamReader(cs, Encoding.Unicode); 
  40. return sr.ReadToEnd(); 
  41. #endregion 
  42. #region 一個用hash實現的加密解密方法 
  43. /// <summary> 
  44. /// 加密 
  45. /// </summary> 
  46. /// <param name="src"></param> 
  47. /// <returns></returns> 
  48. public static string EncryptStrByHash(string src) 
  49. if (src.Length == 0) 
  50. return ""
  51. byte[] HaKey = System.Text.Encoding.ASCII.GetBytes((src + "Test").ToCharArray()); 
  52. byte[] HaData = new byte[20]; 
  53. HMACSHA1 Hmac = new HMACSHA1(HaKey); 
  54. CryptoStream cs = new CryptoStream(Stream.Null, Hmac, CryptoStreamMode.Write); 
  55. try 
  56. cs.Write(HaData, 0, HaData.Length); 
  57. finally 
  58. cs.Close(); 
  59. string HaResult = System.Convert.ToBase64String(Hmac.Hash).Substring(0, 16); 
  60. byte[] RiKey = System.Text.Encoding.ASCII.GetBytes(HaResult.ToCharArray()); 
  61. byte[] RiDataBuf = System.Text.Encoding.ASCII.GetBytes(src.ToCharArray()); 
  62. byte[] EncodedBytes = { }; 
  63. MemoryStream ms = new MemoryStream(); 
  64. RijndaelManaged rv = new RijndaelManaged(); 
  65. cs = new CryptoStream(ms, rv.CreateEncryptor(RiKey, RiKey), CryptoStreamMode.Write); 
  66. try 
  67. cs.Write(RiDataBuf, 0, RiDataBuf.Length); 
  68. cs.FlushFinalBlock(); 
  69. EncodedBytes = ms.ToArray(); 
  70. finally 
  71. ms.Close(); 
  72. cs.Close(); 
  73. return HaResult + System.Convert.ToBase64String(EncodedBytes); 
  74. /// <summary> 
  75. /// 解密 
  76. /// </summary> 
  77. /// <param name="src"></param> 
  78. /// <returns></returns> 
  79. public static string DecrypStrByHash(string src) 
  80. if (src.Length < 40) return ""
  81. byte[] SrcBytes = System.Convert.FromBase64String(src.Substring(16)); 
  82. byte[] RiKey = System.Text.Encoding.ASCII.GetBytes(src.Substring(0, 16).ToCharArray()); 
  83. byte[] InitialText = new byte[SrcBytes.Length]; 
  84. RijndaelManaged rv = new RijndaelManaged(); 
  85. MemoryStream ms = new MemoryStream(SrcBytes); 
  86. CryptoStream cs = new CryptoStream(ms, rv.CreateDecryptor(RiKey, RiKey), CryptoStreamMode.Read); 
  87. try 
  88. cs.Read(InitialText, 0, InitialText.Length); 
  89. finally 
  90. ms.Close(); 
  91. cs.Close(); 
  92. System.Text.StringBuilder Result = new System.Text.StringBuilder(); 
  93. for (int i = 0; i < InitialText.Length; ++i) if (InitialText[i] > 0) Result.Append((char)InitialText[i]); 
  94. return Result.ToString(); 
  95. /// <summary> 
  96. /// 對加密后的密文重新編碼,如果密文長>16,則去掉前16個字符,如果長度小于16,返回空字符串 
  97. /// </summary> 
  98. /// <param name="s"></param> 
  99. /// <returns></returns> 
  100. public string ReEncryptStrByHash(string s) 
  101. string e = Encrypt.EncryptStrByHash(s); 
  102. return ((e.Length > 16) ? e.Substring(16) : ""); 
  103. #endregion 
  104. #region Md5加密,生成16位或32位,生成的密文都是大寫 
  105. public static string Md5To16(string str) 
  106. MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); 
  107. string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)), 4, 8); 
  108. t2 = t2.Replace("-"""); 
  109. return t2; 
  110. //// <summary> 
  111. /// MD5 32位加密 
  112. /// </summary> 
  113. /// <param name="str"></param> 
  114. /// <returns></returns> 
  115. public static string Md5To32(string str) 
  116. string pwd = ""
  117. MD5 md5 = MD5.Create(); 
  118. byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(str)); 
  119. for (int i = 0; i < s.Length; i++) 
  120. pwd = pwd + s[i].ToString("X"); 
  121. return pwd; 
  122. #endregion 
  123. #region 3DES加密解密 
  124. public string Encrypt3DES(string str) 
  125. //密鑰 
  126. string sKey = "wyw308"
  127. // //矢量,可為空 
  128. string sIV = "scf521"
  129. // //構造對稱算法 
  130. SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider(); 
  131. ICryptoTransform ct; 
  132. MemoryStream ms; 
  133. CryptoStream cs; 
  134. byte[] byt; 
  135. mCSP.Key = Convert.FromBase64String(sKey); 
  136. mCSP.IV = Convert.FromBase64String(sIV); 
  137. mCSP.Mode = System.Security.Cryptography.CipherMode.ECB; 
  138. mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7; 
  139. ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV); 
  140. byt = Encoding.UTF8.GetBytes(str); 
  141. ms = new MemoryStream(); 
  142. cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); 
  143. cs.Write(byt, 0, byt.Length); 
  144. cs.FlushFinalBlock(); 
  145. cs.Close(); 
  146. return Convert.ToBase64String(ms.ToArray()); 
  147. /// <summary> 
  148. /// 帶指定密鑰和矢量的3DES加密 
  149. /// </summary> 
  150. /// <param name="str"></param> 
  151. /// <param name="sKey"></param> 
  152. /// <param name="sIV"></param> 
  153. /// <returns></returns> 
  154. public string Encrypt3DES(string str, string sKey, string sIV) 
  155. SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider(); 
  156. ICryptoTransform ct; 
  157. MemoryStream ms; 
  158. CryptoStream cs; 
  159. byte[] byt; 
  160. mCSP.Key = Convert.FromBase64String(sKey); 
  161. mCSP.IV = Convert.FromBase64String(sIV); 
  162. mCSP.Mode = System.Security.Cryptography.CipherMode.ECB; 
  163. mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7; 
  164. ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV); 
  165. byt = Encoding.UTF8.GetBytes(str); 
  166. ms = new MemoryStream(); 
  167. cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); 
  168. cs.Write(byt, 0, byt.Length); 
  169. cs.FlushFinalBlock(); 
  170. cs.Close(); 
  171. return Convert.ToBase64String(ms.ToArray()); 
  172. //解密 
  173. public string Decrypt3DES(string Value) 
  174. string sKey = "wyw308"
  175. string sIV = "scf521"
  176. SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider(); 
  177. ICryptoTransform ct; 
  178. MemoryStream ms; 
  179. CryptoStream cs; 
  180. byte[] byt; 
  181. mCSP.Key = Convert.FromBase64String(sKey); 
  182. mCSP.IV = Convert.FromBase64String(sIV); 
  183. mCSP.Mode = System.Security.Cryptography.CipherMode.ECB; 
  184. mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7; 
  185. ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV); 
  186. byt = Convert.FromBase64String(Value); 
  187. ms = new MemoryStream(); 
  188. cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); 
  189. cs.Write(byt, 0, byt.Length); 
  190. cs.FlushFinalBlock(); 
  191. cs.Close(); 
  192. return Encoding.UTF8.GetString(ms.ToArray()); 
  193. /// <summary> 
  194. /// 帶指定密鑰和矢量的3DES解密 
  195. /// </summary> 
  196. /// <param name="Value"></param> 
  197. /// <param name="sKey"></param> 
  198. /// <param name="sIV"></param> 
  199. /// <returns></returns> 
  200. public string Decrypt3DES(string str, string sKey, string sIV) 
  201. SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider(); 
  202. ICryptoTransform ct; 
  203. MemoryStream ms; 
  204. CryptoStream cs; 
  205. byte[] byt; 
  206. mCSP.Key = Convert.FromBase64String(sKey); 
  207. mCSP.IV = Convert.FromBase64String(sIV); 
  208. mCSP.Mode = System.Security.Cryptography.CipherMode.ECB; 
  209. mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7; 
  210. ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV); 
  211. byt = Convert.FromBase64String(str); 
  212. ms = new MemoryStream(); 
  213. cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); 
  214. cs.Write(byt, 0, byt.Length); 
  215. cs.FlushFinalBlock(); 
  216. cs.Close(); 
  217. return Encoding.UTF8.GetString(ms.ToArray()); 
  218. #endregion 
  219. #region 一個簡單的加密解密方法,只支持英文 
  220. public static string EnCryptEnStr(string str) //倒序加1加密 
  221. byte[] by = new byte[str.Length]; 
  222. for (int i = 0; 
  223. i <= str.Length - 1; 
  224. i++) 
  225. by[i] = (byte)((byte)str[i] + 1); 
  226. str = ""
  227. for (int i = by.Length - 1; 
  228. i >= 0; 
  229. i--) 
  230. str += ((char)by[i]).ToString(); 
  231. return str; 
  232. public static string DeCryptEnStr(string str) //順序減1解碼 
  233. byte[] by = new byte[str.Length]; 
  234. for (int i = 0; 
  235. i <= str.Length - 1; 
  236. i++) 
  237. by[i] = (byte)((byte)str[i] - 1); 
  238. str = ""
  239. for (int i = by.Length - 1; 
  240. i >= 0; 
  241. i--) 
  242. str += ((char)by[i]).ToString(); 
  243. return str; 
  244. #endregion 
  245. #region 一個簡單的加密解密方法,在上一個的基礎上支持中文 
  246. public static string EnCryptCnStr(string str) 
  247. string htext = ""// blank text 
  248. for (int i = 0; i < str.Length; i++) 
  249. htext = htext + (char)(str[i] + 10 - 1 * 2); 
  250. return htext; 
  251. public static string DeCryptCnStr(string str) 
  252. string dtext = ""
  253. for (int i = 0; i < str.Length; i++) 
  254. dtext = dtext + (char)(str[i] - 10 + 1 * 2); 
  255. return dtext; 
  256. #endregion 
  257. #region Url地址編碼解碼 
  258. /// <summary> 
  259. /// 編碼Url地址 
  260. /// </summary> 
  261. /// <param name="url"></param> 
  262. /// <returns></returns> 
  263. public static string UrlEncode(string url) 
  264. byte[] mByte = null
  265. mByte = System.Text.Encoding.GetEncoding("GB2312").GetBytes(url); 
  266. return System.Web.HttpUtility.UrlEncode(mByte); 
  267. /// <summary> 
  268. /// 解碼Url地址 
  269. /// </summary> 
  270. /// <param name="url"></param> 
  271. /// <returns></returns> 
  272. public static string UrlDecode(string url) 
  273. return HttpUtility.UrlDecode(url, System.Text.Encoding.GetEncoding("GB2312")); 
  274. #endregion 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av网站导航| 国产精品亚洲аv天堂网| 久久91亚洲精品中文字幕| 亚洲人精品午夜在线观看| 一本大道久久加勒比香蕉| 久久久精品视频在线观看| 亚洲一区二区三区四区视频| 91色视频在线观看| 91日本视频在线| 日韩精品视频免费| 国产精品日韩电影| 国产精品高潮呻吟视频| 国产福利成人在线| 久久久久久久久久亚洲| 亚洲最大成人网色| 中文字幕精品影院| 国产精品高清免费在线观看| 国产精品香蕉在线观看| 91精品国产91久久久久久最新| 久久国产精品影视| 亚洲天堂第二页| 啊v视频在线一区二区三区| 精品国偷自产在线视频| 成人黄色免费在线观看| 国产一区二区av| 7777精品久久久久久| 亚洲www视频| 成人免费视频网址| 国外日韩电影在线观看| 欧美大片va欧美在线播放| 日韩av毛片网| 日韩av手机在线| 国产精品入口免费视| 国产精品一区av| 日本成人激情视频| 7m第一福利500精品视频| 亚洲老板91色精品久久| 97久久久免费福利网址| 欧美在线一区二区视频| y97精品国产97久久久久久| www.午夜精品| 伊人久久大香线蕉av一区二区| 91美女福利视频高清| 亚洲欧美中文日韩在线| 日韩av在线最新| 亚洲欧美激情在线视频| 亚洲精品av在线| 91在线看www| 日韩中文视频免费在线观看| 韩国国内大量揄拍精品视频| 精品动漫一区二区| 裸体女人亚洲精品一区| 日本最新高清不卡中文字幕| 亚洲午夜av久久乱码| 欧美整片在线观看| 久久精品一本久久99精品| 全亚洲最色的网站在线观看| 91av在线不卡| 黑人与娇小精品av专区| 成人性教育视频在线观看| 国产精品视频1区| 在线播放国产一区二区三区| 性欧美长视频免费观看不卡| 国产精品视频久久久| 国产精品日韩专区| 精品国产乱码久久久久酒店| 欧美亚洲国产日本| 日日噜噜噜夜夜爽亚洲精品| 午夜精品国产精品大乳美女| 国产女人精品视频| 久久精品国产亚洲7777| 国产精品久久久久av免费| 国产一区二区丝袜高跟鞋图片| 亚洲91精品在线| 一区二区国产精品视频| 7777kkkk成人观看| 26uuu另类亚洲欧美日本一| 热久久免费视频精品| 日韩精品免费视频| 欧美黑人极品猛少妇色xxxxx| 日本免费一区二区三区视频观看| 国产成人一区二区三区小说| 欧美一级在线播放| 琪琪第一精品导航| 国产精品精品国产| 亚洲视频视频在线| 亚洲午夜久久久久久久| 91成人性视频| 久热爱精品视频线路一| 国产精品18久久久久久首页狼| 国产亚洲精品一区二区| 国产精品久久久亚洲| 精品视频在线播放免| 欧美日本黄视频| 97在线日本国产| 深夜精品寂寞黄网站在线观看| 26uuu亚洲伊人春色| 日韩有码在线播放| 欧美乱大交xxxxx| 国产日韩欧美在线播放| 午夜精品视频网站| 欧美国产中文字幕| 中文字幕欧美日韩| 欧美日韩亚洲视频一区| 亚洲自拍偷拍网址| 久久久久久久久亚洲| 97福利一区二区| 亚洲精品免费一区二区三区| 日韩二区三区在线| 欧美日韩福利在线观看| 免费成人高清视频| 国产精品偷伦免费视频观看的| 国产精品一区二区三区免费视频| 国产精品美女网站| 日韩视频免费中文字幕| 搡老女人一区二区三区视频tv| 国产精品免费久久久久久| 欧美日韩激情美女| 亚洲精品国产精品乱码不99按摩| 中文字幕日韩视频| 91精品综合久久久久久五月天| 91久久精品美女高潮| 国产精品高潮呻吟久久av黑人| 久青草国产97香蕉在线视频| 亚洲欧美日韩精品久久亚洲区| 日本精品视频在线播放| 欧美成人精品xxx| 国产99在线|中文| 亚洲欧美国产制服动漫| 伊人久久大香线蕉av一区二区| 亚洲第一中文字幕在线观看| 免费成人高清视频| 欧美性在线观看| 久久久91精品国产一区不卡| 欧美成人精品不卡视频在线观看| 亚洲免费视频在线观看| 久久视频在线直播| 中日韩美女免费视频网址在线观看| 亚洲欧美日韩精品久久亚洲区| 国产剧情久久久久久| 欧美三级欧美成人高清www| 插插插亚洲综合网| 精品国产一区二区三区久久狼黑人| 亚洲精品久久久久久久久久久久久| 中文字幕精品一区久久久久| www.xxxx欧美| 久久久久久久久亚洲| 久久夜色精品亚洲噜噜国产mv| 久久国产精品免费视频| 国产欧美精品日韩精品| 亚洲欧美综合区自拍另类| 精品美女久久久久久免费| 亚洲综合小说区| 国产一区二区三区欧美| 一区二区欧美激情| 伦伦影院午夜日韩欧美限制| 久久久久久com| 97精品伊人久久久大香线蕉| 成人黄色激情网| 国产成人精品国内自产拍免费看| 国产精品久久国产精品99gif| 欧美精品激情在线| 欧美日在线观看| 国产一区二区日韩精品欧美精品|