我们玩游戏神马的,在安装文件夹里或许会有一些TXT文件,但打开来看却是乱码的。
下面演示的是一个简单的文字加密和解密,勿喷。。。
- public class DoChar {
- private static final int EXP = 1235;
- public static void main(String[] args) {
- DoChar doChar = new DoChar();
- String str = "这是测试内容: abcd 123456 =-+";
- System.out.println("原内容:" + str);
- String result = doChar.encrypt(str);
- System.out.println("加密后:" + result);
- System.out.println("解密后:" + doChar.reencrypt(result));
- }
- //加密
- public String encrypt(String str){
- StringBuffer buf = new StringBuffer();
- char[] cs = str.toCharArray();
- char a;
- for (int i = 0; i < cs.length; i++) {
- a = (char) ((int)cs[i] + EXP);
- buf.append(a);
- }
- return buf.toString();
- }
- //解密
- public String reencrypt(String str){
- StringBuffer buf = new StringBuffer();
- char[] cs = str.toCharArray();
- char a;
- for (int i = 0; i < cs.length; i++) {
- a = (char)((int)cs[i] - EXP);
- buf.append(a);
- }
- return buf.toString();
- }
- }
public class DoChar {
private static final int EXP = 1235;
public static void main(String[] args) {
DoChar doChar = new DoChar();
String str = "这是测试内容: abcd 123456 =-+";
System.out.println("原内容:" + str);
String result = doChar.encrypt(str);
System.out.println("加密后:" + result);
System.out.println("解密后:" + doChar.reencrypt(result));
}
//加密
public String encrypt(String str){
StringBuffer buf = new StringBuffer();
char[] cs = str.toCharArray();
char a;
for (int i = 0; i < cs.length; i++) {
a = (char) ((int)cs[i] + EXP);
buf.append(a);
}
return buf.toString();
}
//解密
public String reencrypt(String str){
StringBuffer buf = new StringBuffer();
char[] cs = str.toCharArray();
char a;
for (int i = 0; i < cs.length; i++) {
a = (char)((int)cs[i] - EXP);
buf.append(a);
}
return buf.toString();
}
}
运行结果:
原内容:这是测试内容: abcd 123456 =-+
加密后:钬欂爞邨噘悌???????????????????
解密后:这是测试内容: abcd 123456 =-+
说明:
在方法里用了String的toCharArray()方法先把String转成char数组,而不是直接用String的charAt()方法,这是因为在Stirng非常大的时候,前者的执行效率会高一些。
转自:http://dengu.iteye.com/blog/996587