描述
我在mybatis-plus项目中发现了一个潜在的安全问题。在AES.java文件的50行的加密函数似乎使用了静态密钥(iv=key)作为加密过程的初始化向量(IV)。这种做法可能导致安全漏洞,因为使用静态或可预测的IV可能会削弱加密的安全性。
重现步骤
- 转到
AES.java文件。-->AES.java#L50 - 检查
50行的加密函数。 - 观察使用
secret=key作为IV。
预期行为
加密函数应该为每次加密操作使用一个独特且不可预测的IV,以确保加密数据的安全性。
实际行为
加密函数使用了静态密钥作为IV,这可能被利用来潜在地破坏加密。
影响
使用静态IV可能导致严重的安全隐患。
建议的解决方案
我建议为每次加密操作生成一个新的、随机的IV,并确保在必要时将其与加密数据一起传输。这将符合安全加密的最佳实践。
附加信息
- 加密函数位于:AES.java#L50
附件
如果有任何相关的代码片段、屏幕截图或日志可以帮助说明问题,请在这里附加。
Comment From: DeH40
@nieqiurong 这个issue被标记为 wontfix,可以给出一些解释吗,谢谢。