我想知道此命令使用的算法或技术(mvn --encrypt-master-password)。每次运行它都会产生不同的输出。我假设它需要系统时间作为种子参数。
答案 0 :(得分:8)
加密机制本身不在maven代码库中。它位于名为plexus-cipher
的库中。它始终在maven分布上。我的lib/plexus-cipher-1.7.jar
正在3.0.5
maven版本。
实际密码是AES/CBC/PKCS5Padding
。块链的密码和IV的关键是迭代SHA-256
- 提供的密码(编码为UTF-8)与特定于JVM配置的连接(通常为SHA1PRNG
)64-随机盐一次或两次。
这里没什么大惊喜。它似乎与其他灵魂现在使用的格式相同。
上阅读来源的血腥细节