解决方案:System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决方案:System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1674字,纯文字阅读大概需要3分钟。
内容图文
System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
引发该问题的原因是系统启动了FIPS,导致.NET Framework平台中的MD5加密及其他一些加密方法需要调用FIPS验证,但FIPS又不支持这些方法,故引发如上异常。
解决方法:
注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy项目中,将Enabled值设置为0即可
也可以在程序启动时加入检查和修复的代码,如下
/// <summary> /// 测试MD5加密可用性 /// </summary> public static void GeneratingMD5Test() { try { MD5CryptoServiceProvider get_md5 = new MD5CryptoServiceProvider(); } catch (InvalidOperationException) { CloseFIPS(); } catch (Exception) { } } ///<summary>/// 关闭操作系统FIPS功能(该功能开启会导致.NET Framework中的MD5加密功能出现错误) ///</summary>///<returns></returns>privatestaticbool CloseFIPS() { bool res = false; try { RegistryKey localMachine = Registry.LocalMachine; RegistryKey FipsAlgorithmPolicy = localMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy"); string[] vks = FipsAlgorithmPolicy.GetValueNames(); foreach (string k in vks) { if (k.ToUpper() == "ENABLED") { if (FipsAlgorithmPolicy.GetValue(k).ToString() != "0") { MessageBoxButtons mbs = MessageBoxButtons.OKCancel; DialogResult dre = MessageBox.Show("报名系统运行时发生错误,是否尝试修复(会更改注册表项目)?", "提示", mbs); if (dre == DialogResult.OK) { FipsAlgorithmPolicy.SetValue(k, 0); } break; } } } FipsAlgorithmPolicy.Close(); localMachine.Close(); res = true; } catch (Exception ex) { MessageBox.Show(String.Format("修复失败,发生错误:{0}{1}{0}详细情况请查看日志文件",Environment.NewLine,ex.Message), "错误"); LogException(ex); } return res; }
原文:http://www.cnblogs.com/Vulpers/p/7770665.html
内容总结
以上是互联网集市为您收集整理的解决方案:System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。全部内容,希望文章能够帮你解决解决方案:System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。