Latifrons的技术/生活博客成功落户cnblogs!
非常喜欢这种专门为程序员设计的博客!![]()
嗯,先测试一段:
(这是开心农场加密传输数据的解密算法,最近用到的,Java翻译版本)
1
import java.io.ByteArrayOutputStream;
2
import java.io.FileInputStream;
3
import java.io.FileNotFoundException;
4
import java.io.IOException;
5
6
7
public class Decode {
8
public static void main(String args[]) throws IOException{
9
FileInputStream fis = new FileInputStream("file");
10
ByteArrayOutputStream baos = new ByteArrayOutputStream();
11
int ch;
12
while((ch = fis.read()) !=-1){
13
baos.write(ch);
14
}
15
byte[] b = baos.toByteArray();
16
byte[] c = decode(b,162);
17
String s = new String(c);
18
System.out.println(s);
19
// byte[] source = new byte[]{(byte) 0xfd};
20
// for (int decodeKey = 0;decodeKey<1000;decodeKey++){
21
// byte[] a = decode(source,decodeKey);
22
// if (a[0] == 91){
23
// System.out.println(decodeKey);
24
// break;
25
// }
26
// }
27
}
28
29
30
public static byte[] decode(byte[] source,int decodeKey){
31
//FD 1D C4 17 15 07 14 EB 06 C4 DC C4
32
//253 29 196 23 21 7 20 235 6
33
//[ { " u s e r I d " : "
34
//91 123 34 117 115 101 114 73 100
35
ByteArrayOutputStream dest = new ByteArrayOutputStream();
36
int current = 0;
37
int len = source.length;
38
int bytea = 47;
39
int byteb = 48;
40
//int decodeKey = 0;
41
while (current <len){
42
if (source[current] == bytea){
43
if (current +1 != len && source[current +1] == bytea){
44
current ++;
45
dest.write(bytea - decodeKey);
46
}else if (current +1 != len && source[current +1] == byteb){
47
current ++;
48
if (decodeKey == 0){
49
dest.write(byteb-decodeKey);
50
}else{
51
dest.write(-decodeKey);
52
}
53
}else{
54
dest.write(source[current]-decodeKey);
55
}
56
}else{
57
dest.write(source[current]-decodeKey);
58
}
59
current++;
60
}
61
return dest.toByteArray();
62
}
63
}
64
import java.io.ByteArrayOutputStream;2
import java.io.FileInputStream;3
import java.io.FileNotFoundException;4
import java.io.IOException;5

6

7
public class Decode {8
public static void main(String args[]) throws IOException{9
FileInputStream fis = new FileInputStream("file");10
ByteArrayOutputStream baos = new ByteArrayOutputStream();11
int ch;12
while((ch = fis.read()) !=-1){13
baos.write(ch);14
}15
byte[] b = baos.toByteArray();16
byte[] c = decode(b,162);17
String s = new String(c);18
System.out.println(s);19
// byte[] source = new byte[]{(byte) 0xfd};20
// for (int decodeKey = 0;decodeKey<1000;decodeKey++){21
// byte[] a = decode(source,decodeKey);22
// if (a[0] == 91){23
// System.out.println(decodeKey);24
// break;25
// }26
// }27
}28
29
30
public static byte[] decode(byte[] source,int decodeKey){31
//FD 1D C4 17 15 07 14 EB 06 C4 DC C432
//253 29 196 23 21 7 20 235 633
//[ { " u s e r I d " : "34
//91 123 34 117 115 101 114 73 100 35
ByteArrayOutputStream dest = new ByteArrayOutputStream(); 36
int current = 0;37
int len = source.length;38
int bytea = 47;39
int byteb = 48;40
//int decodeKey = 0;41
while (current <len){42
if (source[current] == bytea){43
if (current +1 != len && source[current +1] == bytea){44
current ++;45
dest.write(bytea - decodeKey);46
}else if (current +1 != len && source[current +1] == byteb){47
current ++;48
if (decodeKey == 0){49
dest.write(byteb-decodeKey);50
}else{51
dest.write(-decodeKey);52
}53
}else{54
dest.write(source[current]-decodeKey);55
}56
}else{57
dest.write(source[current]-decodeKey);58
}59
current++;60
}61
return dest.toByteArray();62
}63
}64

看,支持语法高亮哦~~嘻嘻


浙公网安备 33010602011771号