maven仓库密码本地加密
一. 需求
想上传jar包到maven仓库, 但是又不想把maven仓库账密明文配置到脚本/网站中, 以防外部/没有权限的人员查看.
二. maven官方加密方法
maven官方已经提供了对maven账密本地加密的方法
Maven – Password Encryption
http://maven.apache.org/guides/mini/guide-encryption.html
里面用到下面2个命令
# 生成主密码密文, 相当于密码盐, 用于加密maven密码. master-password可以随便设置为高强度密码
mvn --encrypt-master-password <master-password>
# 生成maven密码密文, password为maven密码明文, maven会自动使用上面的master-password加密该密码
mvn --encrypt-password <password>
三. 加密方法讲解
生成master密码
master-password: master密码, 即主密码, 相当于密码盐, 用于加密maven密码. 可以随便设置为高强度密码
终端下运行(假设我们设置12345678为master密码):
mvn --encrypt-master-password "12345678"
得到加密串:
{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}
复制到maven安全配置文件(如果没有就手动创建)中, 内容如下
linux下路径: ~/.m2/settings-security.xml
window下路径: %USERPROFILE%\.m2\settings-security.xml
<!--
maven安全配置文件(如果没有就手动创建), 内容如下
linux下路径: ~/.m2/settings-security.xml
window下路径: %USERPROFILE%\.m2\settings-security.xml
-->
<?xml version="1.0" encoding="UTF-8"?>
<settingsSecurity>
<!--master的值为master-password生成的密文-->
<master>{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}</master>
</settingsSecurity>
生成maven密码密文
假设maven仓库密码为maven-password123
# 终端下执行, 传入maven密码, 会自动使用settings-security.xml配置加密
mvn --encrypt-password "maven-password123"
得到加密串:
{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}
复制maven密码密文串到maven的配置文件(settings.xml)中, 文件内容如下:
linux下路径: ~/.m2/settings.xml
window下路径: %USERPROFILE%\.m2\settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>maven仓库id</id>
<username>maven用户名</username>
<!--maven密码密文-->
<password>{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}</password>
</server>
</servers>
<localRepository>E:\maven_repository</localRepository>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>
maven在settings.xml中存储加密密码_AXNshy的博客-优快云博客
https://blog.youkuaiyun.com/u013648164/article/details/81005876
Maven – Password Encryption
http://maven.apache.org/guides/mini/guide-encryption.html