securityhelper.java
来自「文件上传用例,纯sql分页源码,有用的着地方请下载 试用」· Java 代码 · 共 72 行
JAVA
72 行
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 + =
减小字号Ctrl + -
显示快捷键?