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

标签 maven password-protection password-encryption password-generator

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

最佳答案

加密机制本身不在 maven 代码库中。它位于一个名为 plexus-cipher 的图书馆中。 .它总是在 maven 发行版上。我的是在 lib/plexus-cipher-1.7.jar正在 3.0.5 Maven 版本。

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

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

血腥的细节可以在阅读 GitHub project page 上的源代码中找到。

关于maven - mvn --encrypt-master-password <密码> 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15789984/

相关文章:

maven - 如果在父 pom 中配置了存储库,我的 pom 如何找到我的父 pom?

java - 如何使用 `maven package` 将依赖项复制到输出目录

java - 在eclipse luna中运行maven项目

android - 防止 Facebook Android SDK 将密码显示为纯文本

java - Jasypt - 如何使用 StrongPasswordEncryptor 作为 .properties 文件中的凭据

java - 无法使用散列密码登录 Android 应用程序

maven - 如何清除 teamcity 的 Maven 依赖库/缓存

configuration - 您如何处理独立应用程序的密码或凭据?

encryption - 具有加密/密码保护的 SQLite

java - 如何将密码传递给java(Spring boot)应用程序