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