请在2024年Clojure调查问卷中分享您的想法!

欢迎!请查看关于页面以了解更多关于其工作方式的信息。

+4
工具
已关闭

看起来默认的powershell模块使用MD5加密服务提供者来计算缓存的classpath文件的哈希值(我认为是这样的);

function Get-StringHash(str)  {
    $md5  = new-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
...

在某些需要遵循FIPS的Windows安装中(例如由系统管理员强制),MD5被简单地禁止,并且在该函数中将因为FIPS而出现错误。

简单的方法是改用兼容的算法,例如SHA1;

function Get-StringHash(str)  {
    $md5  = new-Object -TypeName System.Security.Cryptography.SHA1CryptoServiceProvider
...

这不应影响Clojure CLI脚本的运行,除非改变classpath的实际哈希值,这应与脚本之前的运行内部一致。除非某些东西依赖于cpcache的精确MD5哈希(看起来它没有这样),这应该是一个针对FIPS强制执行的快速修复方法。

以以下注释关闭: 不予修复,弃用Powershell版本

1 个答案

0

已选择
 
最佳答案

缓存键的精确形式不影响,因此认为这应该是没有问题的。相关日志在 https://clojure.atlassian.net/browse/TDEPS-164

...