MD5加密实现类不是Windows平台下联邦信息处理标准验证过的加密算法的一部分
在.NET应用程序中,MD5CryptoServiceProvider实例化时,造成This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms异常。意思是MD5CryptoServiceProvider这个加密实现类不是Windows平台下联邦信息处理标准验证过的加密算法的一部分。
在大多机器上都没有遇到这个问题,今天在一台机器上突然遇到。
这个问题的解决办法是,修改注册表,将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy 的值由1改为0.再重启应用程序池。意思是不启用Fips兼容的加密算法策略。
看来.NET程序的运行确实受到系统平台安全策略的控制。