ASP.NET中几种加密方法
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-14
|
方法如下:(用的vs2005)
1/**//// <summary> 2 /// 方法一:通过使用 new 运算符创建对象 3 /// </summary> 4 /// <param name="strSource">需要加密的明文</param> 5 /// <returns>返回16位加密结果,该结果取32位加密结果的第9位到25位</returns> 6 public string Get_MD5_Method1(string strSource) 7 { 8 //new 9 System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); 10 11 //获取密文字节数组 12 byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strSource)); 13 14 //转换成字符串,并取9到25位 15 string strResult = BitConverter.ToString(bytResult, 4, 8); 16 //转换成字符串,32位 17 //string strResult = BitConverter.ToString(bytResult); 18 19 //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉 20 strResult = strResult.Replace("-", ""); 21 return strResult; 22 } 23 24 /**//// <summary> 25 /// 方法二:通过调用特定加密算法的抽象类上的 Create 方法,创建实现特定加密算法的对象。 26 /// </summary> 27 /// <param name="strSource">需要加密的明文</param> 28 /// <returns>返回32位加密结果</returns> 29 public string Get_MD5_Method2(string strSource) 30 { 31 string strResult = ""; 32 33 //Create 34 System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create(); 35 36 //注意编码UTF8、UTF7、Unicode等的选择 37 byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strSource)); 38 39 //字节类型的数组转换为字符串 40 for (int i = 0; i < bytResult.Length; i++) 41 { 42 //16进制转换 43 strResult = strResult + bytResult[i].ToString("X"); 44 } 45 return strResult; 46 } 47 48 /**//// <summary> 49 /// 方法三:直接使用HashPasswordForStoringInConfigFile生成 50 /// </summary> 51 /// <param name="strSource">需要加密的明文</param> 52 /// <returns>返回32位加密结果</returns> 53 public string Get_MD5_Method3(string strSource) 54 { 55 return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "MD5"); 56 } |
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|