最近,我们在其中一个应用程序上使用 Veracode 进行了静态安全扫描。
报告指出一个问题
使用损坏或有风险的加密算法 (CWE ID 327)
以下代码片段显示
byte[] CalculateHash(byte[] publicKey) {
SHA1CryptoServiceProvider hashGenerator = new SHA1CryptoServiceProvider();
Byte[] hashInArray = new Byte[32];
PrivateKey.CopyTo(hashInArray,0); // Combine public key and private key
publicKey.CopyTo(hashInArray,16);
return hashGenerator.ComputeHash(hashInArray); // Calculate hash
}
在描述中,它将 SHA1 描述为一种弱算法。
我修改了代码并使用 SHA256 而不是 SHA1 并再次执行 veracode 扫描,但它仍然显示相同的问题。
有什么替代方法?有什么建议么?