我想知道这个命令(mvn --encrypt-master-password)使用的算法或技术。每次我运行它都会产生不同的输出。我假设它需要系统时间作为种子参数。
问问题
2427 次
1 回答
8
加密机制本身不在 Maven 代码库中。它位于一个名为plexus-cipher
. 它总是在 Maven 发行版上。我的是lib/plexus-cipher-1.7.jar
maven3.0.5
版本。
实际密码是AES/CBC/PKCS5Padding
. 用于块链接的密码和 IV 的密钥是通过迭代SHA-256
提供的密码(编码为 UTF-8)与 JVM 配置特定(通常SHA1PRNG
)64 位随机盐连接一次或两次而得出的。
这里没有什么大惊喜。它似乎与现在每个其他灵魂都使用的格式相同。
血淋淋的细节可以在GitHub 项目页面上阅读源代码找到
于 2013-04-03T15:54:39.480 回答