import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class EncryptDecrypt {
/**
* 加密
*/
public static String Encrypt(String pass) {
int len = pass.length();
char enPass[] = new char[len * 2];
int chk[] = { 104, 115, 109, 97, 122, 104, 106, 104 };
if (pass == null || pass.equals(“”))
return “”;
int i = 0;
for (int j = 0; i < len; j++) {
if (j == 8) {
j = 0;
}
int temp = pass.charAt(i) ^ chk[j];
String C = Integer.toString(temp, 16);
if (C.length() > 1) {
enPass[i * 2] = C.charAt(0);
enPass[i * 2 + 1] = C.charAt(1);
} else {
enPass[i * 2] = ‘0’;
enPass[i * 2 + 1] = C.charAt(0);
}
i++;
}
return new String(enPass); } /** * 解密 */ public static String
unEncrypt(String enPass) { int len = enPass.length(); if (len % 2 != 0) {
return ""; } if (enPass == null || enPass.equals("")) return ""; char pass[] =
new char[len / 2]; char C[] = new char[2]; int chk[] = { 104, 115, 109, 97,
122, 104, 106, 104 }; int i = 0; for (int j = 0; i < len / 2; j++) { if (j ==
8) { j = 0; } C[0] = enPass.charAt(i * 2); C[1] = enPass.charAt(i * 2 + 1); int
temp = Integer.parseInt(String.valueOf(C), 16); pass[i] = (char) (temp ^
chk[j]); i++; } return new String(pass); }

public static void main(String args[]) { //unicode在线编码《请输入数据库密码(回车确认):
\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u5BC6\u7801(\u56DE\u8F66\u786E\u8BA4):》
System.out.println("\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u5BC6\u7801(\u56DE\u8F66\u786E\u8BA4):");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try {
String pwd = br.readLine();
System.out.println("================\u56DE\u8F66\u79BB\u5F00");
System.out.println("\u539F\u5BC6\u7801\uFF1A" + pwd);
System.out.println("\u52A0\u5BC6\u5BC6\u7801\uFF1A" + Encrypt(pwd));
System.out.println("\u52A0\u5BC6\u5BC6\u7801\uFF1A" + unEncrypt(Encrypt(pwd)));
} catch (IOException e) { e.printStackTrace(); } }
}

运行结果如下:

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信