看起来默认的powershell模块使用MD5加密服务提供商来计算缓存的类路径文件的哈希(我认为如此);
function Get-StringHash(str) {
$md5 = new-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
...
在具有FIPS要求的某些Windows安装下(例如由系统管理员),MD5被简单禁止,并且clj
将在此功能中失败,显示有关FIPS的错误。
一个简单的替代方案是更改到遵循的算法,例如SHA1,
function Get-StringHash(str) {
$md5 = new-Object -TypeName System.Security.Cryptography.SHA1CryptoServiceProvider
...
这不应会影响clojure cli脚本的运行,除了实际哈希值更改的类路径之外,应与脚本先前的运行内部一致。除非某些依赖于cpcache的确切MD5哈希值(看起来它不是这样的),否则这应该是强制FIPS时的一种快速修复。