一个简单的加密解密方法(java、shell脚本)
加密,解密,密码,shell2016-11-23
最近项目中有个小的需求,配置文件中配置有DB密码,客户担心xml文件被非法窃取,所以要求配置文件中的密码是经过加密的。这就有个问题,常用的MD5加密,理论上是不可逆的。所以简单写了一个加密解密方法。
加密是使用的shell脚本,当然使用java代码也可以。作用就是运维人员输入原密码,生成加密后的密文。然后配置即可,程序中根据约定的解密方式去解读密文,还原为可用密码。这样即使配置文件被盗用也无法获知原密码。
解密方法如下:
/** * 解密 * @param param * @return */ public static String AsciiToStr(String param) { String str = ""; String asciiPsw=param;//字符串 if (asciiPsw.length() > 10) { asciiPsw = asciiPsw.substring(10) + asciiPsw.substring(0, 10); } System.out.println("\n恢复原密码\n----------------------"); // 密码位数 Integer pswLength = asciiPsw.length()/3; for (int i = 0;i < pswLength;i++) { // 三位拆分、分别减101 Integer intPsw = Integer.valueOf(asciiPsw.substring(3*i, 3*(i+1))) - 101; str = str + (char)Integer.parseInt(String.valueOf(intPsw)); } return str; }
加密 shell脚本如下