📄 securityhelper.java
字号:
package org.derrick.util.security;
/**
*
* @author 刘冬宝Oct 26, 2006
版权申明:所有人员均可自由修改源码并再发布,但必须保留此相关信息
*
*/
public abstract class SecurityHelper {
/**
* 简单口令加密函数
*
* @Param original
* 明文
* @Return String 加密后的口令,长度为2*len(orgPass),前半部分为随机数
*/
public static String simplyEncrypt(String original) {
String result = null;
int len = original.length();
byte rndArray[] = new byte[len];
for (int i = 0; i < len; i++) {
rndArray[i] = (byte) (32 + Math.random() * 50);
}
String key = new String(rndArray);
byte orgArray[] = original.getBytes();
byte enArray[] = new byte[len];
for (int i = 0; i < len; i++) {
int org = (int) orgArray[i];
int rnd = (int) rndArray[i];
enArray[i] = (byte) (org ^ rnd);
}
String enPass = new String(enArray);
result = key + enPass;
return result;
}
/**
* 简单解密函数,和simplyEncrypt函数相对应
*
* @param original
* String 密文
* @return String 明文
*/
public static String simplyDecrypt(String original) {
String result = null;
int len = original.length();
int lenPass = len / 2;
byte key[] = original.substring(0, lenPass).getBytes();
byte enArray[] = original.substring(lenPass, len).getBytes();
byte deArray[] = new byte[lenPass];
for (int i = 0; i < lenPass; i++) {
int org = (int) enArray[i];
int rnd = (int) key[i];
deArray[i] = (byte) (org ^ rnd);
}
result = new String(deArray);
return result;
}
public static void main(String args[]) {
String original = "dfadf";
String result = SecurityHelper.simplyEncrypt(original);
System.out.println("original = " + original);
System.out.println("result = " + result);
System.out.println(" dd " + SecurityHelper.simplyDecrypt(result));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -