一. 发生问题

临近下班时间的下午,领导一句话:项目先上到测试服吧,我明早来看看。

我想项目还没做完,先上到测试服务器,简单看下应该是没什么问题,部署也只是一会儿的事嘛,随后把手头的项目编译,发布,拷到远程服务器上,IIS配置一下,各类服务装一下,在浏览器中输入地址,成功进入登录界面,输入正确的帐号密码,却发现登录不了,what,什么鬼?

二. 查找原因

因为项目在本地是正常的,于是找到日志,发现了问题所在

原因是用户的登录密码加密方式用的是md5,而md5并不是FIPS(Federal Information Processing Standards 即(美国)联邦信息处理标准)中的一个部分  

三. 尝试解决问题

于是打开某度,输入上面的错误,满屏的全匹配红色关键字扑面而来,看来有这问题的人还真多,瞬间觉得有救了

主要原因就是系统的组策略安全设置开启了FIPS导致无法使用MD5算法,秉着志在必得的心情,按照网友们的解决办法去弄了一遍,不外乎就两种方式:

第一种:到系统的组策略安全设置中把FIPS禁用掉

步骤:

1.按 WIN+R(或点击开始-运行),并输入gpedit.msc后确定,启动组策略编辑器。

                   2.左侧列表中找到 计算机配置 - Windows设置 - 安全设置 - 本地策略 - 安全选项,并在右侧找到“系统加密:将FIPS兼容算法用于加密、哈希和签名”,设置为禁用

第二种:修改注册表

步骤:

1.按WIN+R(或点击开始-运行),并输入 后确定,启动注册表编辑器。

2.浏览到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy,将Enabled的值改为0

经过上面两种方法尝试后发现居然还是不行!!!,众多教程几乎全都是这两种解决办法,为什么我不行!!

思考片刻,我想国内找不到,国外总有吧,这时候打开了某歌,输入错误信息。。。等等,外国人是用英文的,于是先去找到了错误信息对应的英文翻译,搜索,又是一片,呵呵

在浏览多个页面的过程中,不经意间就进到巨硬msdn的一个页面,终于又发现了两个解决方法:

1. 升级系统补丁,或者找到一个名叫KB935434的补丁(这个补丁根本已经找不到了好么)

2. 在webconfig加入一段配置,可以绕过FIPS的验证  (一点用没有。。。)

参考页面:https://blogs.msdn.microsoft.com/dataaccesstechnologies/2015/07/16/report-manager-system-invalidoperationexception-this-implementation-is-not-part-of-the-windows-platform-fips-validated-cryptographic-algorithms/

四. 解决问题

经过上面所有的尝试,包括重启,反复尝试,寻找方案,各种技术群询问,已经过去了3个多小时,我已经有点崩溃

突然想到上面说的系统补丁,我想会不会是系统的原因,服务器的系统是win server 2008 r2 sp1 ,我去翻看了我本机电脑的注册表,发现是有不同的,我甚至还把本机注册表里有的项,而服务器里没有的,全给它建上去了,还是不行! 

会不会是系统不同,读取的目录是不同的,或者说这个FIPS开关是会有多个的??

于是我尝试着在注册表里全局搜索FipsAlgorithmPolicy这个关键字,一项一项的查找,最后定位到了一个仅有一层父级目录不同,但是其他目录结构,名字一模一样的项

把里面的项改成0,马上去登录帐号,通过了!!!

果然系统不同,读取的注册表目录是会有差别的。。。

五. 总结

有时候项目在本机是没问题的,但是发布到服务器上后总会出现一些奇怪的问题,这是经常发生的事情,大家都懂的。但是发生了问题,肯定是需要去解决的,首先,代码里做好基本的错误日志记录肯定是需要的,再找到解决方案,发现不可用之后,需要冷静下来,思考为什么会发生这样的问题,然后可以根据现有的解决办法延伸出去,多方位去判断原因,并尝试去动手,花时间不重要,重要的是累积经验,以后就可以少踩一些坑了。

解决md5不是windows平台FIPS验证的加密算法的一部分的怪异问题的更多相关文章

  1. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案

    最近操作系统不断地报异常或错误,可能是用得太久了,而刚好工作比较多又不想重新安装系统,但用一段时间后(一天大概有两次)系统就出现各种问题导致无法继续使用真是痛苦万分啊,今天又来了这样的错误: 此实现不 ...

  2. This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分 解决方案

    但web启用了md5加密后 有可能出现这样的错误 This implementation is not part of the Windows Platform FIPS validated cryp ...

  3. 关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案

    vs上的一个项目,弄了一个aes加密算法.提示说:调用的目标异常.此实现不是 Windows 平台 FIPS 验证的加密算法的一部分.弄了好久一直不行.解决不了.最后找了半天资料终于解决了.估计下来. ...

  4. 实例化MD5CryptoServiceProvider报错:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分

    System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS valid ...

  5. 此实现不是Windows平台FIPS验证的加密算法的一部分

    运行wpf程序,出现错误“此实现不是Windows平台FIPS验证的加密算法的一部分”. 解决方法: 1.在window中打开功能里输入regedit,回车打开注册器: 2.进入如下路径中 HKEY_ ...

  6. 分析器错误消息: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分

    关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案 不知怎么的,每次Win10升级后相应的注册器都恢复默认了,当我运行08版的asp项目时会报这个错. vs上的 ...

  7. .NET编译项目时出现《此实现不是 Windows 平台 FIPS 验证的加密算法的一部分》处理方法

    有用户提出在编译代码时出现源文件“D:\.......ervice.cs”未能打开(“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分.”)的问题,如下图所示: 对于上面的问题,只需 ...

  8. 解决方案:System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。

    System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS valid ...

  9. MD5加密出现 无法启动:此实现不是Windows平台FIPS验证的加密算法的一部分

    出现问题: 出现这个问题的原因是订票助手.NET使用了MD5算法,而系统的组策略安全设置导致无法使用此算法.要修正此问题,请按照如下操作(两种方法任选其一). 注:(来源于  http://ask.f ...

随机推荐

  1. 1059: [ZJOI2007]矩阵游戏

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2154  Solved: 1053[Submit][Stat ...

  2. solr 分词词库管理思路

    solr 分词词库管理思路 大概有以下几种思路: 1. 自定义 SolrRequestHandler        由 SolrRequestHandler 来进行对分词器,进行A)词库加载B)动态添 ...

  3. Yii2.0修改默认控制器

    设置默认控制器有两种方法 1.在/vendor/yiisoft/yii2/web/Application.PHP的第28行左右 public $defaultRoute = 'site';      ...

  4. kali linux 忘记root密码重置办法

    有段时间没用kali linux 的,加上最近装的系统有比较多,系统root的密码忘掉了,真是麻烦啊.之前在网上看到的一些方法尝试后没进的去,可能是因为不同的linux 不一样吧. 如果因为忘记密码而 ...

  5. PDO(20161107)

    PDO MySQLI是针对MySQL数据库扩展的,是专门访问MySQL数据库的 PDO是一个数据库访问的一个扩展类,通过一个类访问多个数据库,就是一个数据访问抽象层,把类结合在一块了 可以访问别的数据 ...

  6. Robot Framework 使用笔记

    条件表达式: Run Keyword If 表达式 执行动作   ... ELSE IF 表达式 执行动作 ... ELSE 执行动作   基础格式见上表,下面是我遇到的坑: 表达式:判断字符串变量是 ...

  7. php表单提交--文件

    创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单: <!doctype html> <html> <head> ...

  8. ps人物像发丝的抠图处理

    1-复制图层——使用快速选择工具——添加选区(包含发丝)——调整边缘 2- 提高半径(尽量高)——降低移动边缘——输出到新建图层 这个时候,我们发现人物的很多地方是透明的,不用担心,因为我们这一步先是 ...

  9. pyqt样式表语法笔记

    pyqt样式表语法笔记 pyqt QSS python 样式表 因为软件课设的原因开始学习使用pyqt4,才发现原来它也有样式表,而且语法跟css基本相同,而且一些功能实现起来感觉比js要简单方便得多 ...

  10. webpack使用总结

    我们可以在js中引入样式文件 require('myStyle.css') 这时我们便需要引入相应的webpack loader来帮助我们解析这段代码. 一般来说需要引入css-loader和styl ...