VS2013中ASP.NET使用MD5加密注意事项

最近在做简单的.NET网站时用到了MD5加密方法,发现之前一直用到的方法过时了,自己在网上找了半天才找到了相应的解决方法,我觉得有些东西还是蛮有必要记住的


这个是之前的版本的,但是在VS2013中使用时已经过时

	public static string MD5(string str)
        {
            string result = "";
            result = FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5");
            return result;
        }


这个是新版的MD5加密类

[csharp]  view plain  copy
  1. <span style="font-size:18px;">using System;  
  2. using System.Text;  
  3. using System.Security.Cryptography;  
  4.   
  5. namespace encryptType  
  6. {  
  7.     public class Encrypt  
  8.     {  
  9.         public string encrypt(string strPwd)  
  10.         {  
  11.             String str = "";  
  12.   
  13.             // 初始化MD5对象  
  14.             MD5 md5 = new MD5CryptoServiceProvider();  
  15.             // 将字符编码为一个字节数组  
  16.             byte[] data = Encoding.Default.GetBytes(strPwd);  
  17.             // 计算data字节数组的哈希值  
  18.             byte[] md5Data = md5.ComputeHash(data);  
  19.             // 清空md5  
  20.             md5.Clear();  
  21.             // 遍历md5Data哈希数组  
  22.             for (int i = 0; i < md5Data.Length-1; i++)  
  23.             {  
  24.                 str += md5Data[i].ToString("x").PadLeft(2, '0');  
  25.             }  
  26.   
  27.             return str;  
  28.         }  
  29.     }  
  30. }  
  31. </span>  
但是在这个过程中,还碰到了一个问题,就是
未知的生成错误“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
 
解决方法如下:

1、在window中打开功能里输入regedit,回车打开注册器;
这里写图片描述 
2、进入如下路径中 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy 
这里写图片描述
将 enable设置为0 即可。 
3、再运行你的vs上的项目。 
简单的三步完美的解决了我的问题。




























  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习的学习者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值