- 精华
- 0
- 帖子
- 5066
- 威望
- 0 点
- 积分
- 5099 点
- 种子
- 0 点
- 注册时间
- 2011-9-15
- 最后登录
- 2013-11-27
|
我经常忘记银行卡密码···
所以一怒之下,把卡号和密码都写在了一个txt中···
保存在电脑上···
明文密码,感觉不妥···
所以刚刚写了一个编解码程序来完成数字的加密···
以下是源码,编码解码的规则可以自己制定···
我定的很简单,就是数字字母对应···
记得规则的话,解码方法可以不要···
public class Code {
private static char [] NUM = {'0','1','2','3','4','5','6','7','8','9'};
private static char [] LETTER = {'a','b','c','d','e','f','g','h','i','j','k'};
private static int STEP = 1;
public static void main(String[] args) {
}
/**
* 编码
*
* @param pwd
* @return
* @createtime 2012-8-13 下午05:10:33
* 最后修改时间 :
* 更新记录:
*/
public static String encode(String pwd){
int length = pwd.length();
char [] sA = pwd.toCharArray();
char [] pA = new char [length];
for (int i = 0; i < length; i++) {
char sC = sA[i];
int index = getIndex(sC, NUM);
pA[i] = LETTER[index + STEP ];
}
return new String(pA);
}
/**
* 解码
*
* @param pwd
* @return
* @createtime 2012-8-13 下午05:10:40
* 最后修改时间 :
* 更新记录:
*/
public static String decode(String pwd){
int length = pwd.length();
char [] sA = pwd.toCharArray();
char [] pA = new char [length];
for (int i = 0; i < length; i++) {
char sC = sA[i];
int index = getIndex(sC, LETTER);
pA[i] = NUM[index - STEP ];
}
return new String(pA);
}
private static int getIndex(char c, char[] array) {
for (int i = 0; i < array.length; i++) {
if(c == array[i]){
return i;
}
}
return 0;
}
}
其实规则都包含在最初声明的三个静态变量上···
无聊写着玩,自己图个省事,高手勿喷··· |
|