mvn --encrypt-master-password <密码>如何工作?

SDS*_*SDS 8 password-protection password-encryption maven password-generator

我想知道这个命令使用的算法或技术(mvn --encrypt-master-password).每次运行它都会产生不同的输出.我假设它需要系统时间作为种子参数.

H M*_*les 8

加密机制本身不在maven代码库中.它位于一个名为的图书馆plexus-cipher.它始终在maven分布上.矿上lib/plexus-cipher-1.7.jar3.0.5maven的版本.

实际的密码是AES/CBC/PKCS5Padding.块链的密码和IV的关键是迭代 - SHA-256提供的密码(编码为UTF-8)与JVM配置特定的(通常SHA1PRNG)64位随机盐连接一次或两次.

这里没什么大惊喜.它似乎与现在每个其他灵魂使用的格式相同.

可以在GitHub项目页面上阅读源代码找到血腥细节