FinalShell.java
2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.cnlive.shenhe;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class FinalShell {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException {
//int[] array = {2, 0, 6, 7, 3, 8, 1};
//int[] index = {6, 4, 0, 3, 6, 1, 3, 5, 3, 1, 0};
//StringBuilder tel = new StringBuilder();
//for (int i : index) {
// tel.append(array[i]);
//}
//System.out.println("tel&&wx:" + tel);
//System.out.print("请输入FinalShell的离线机器码:");
//Scanner reader = new Scanner(System.in);
//String machineCode = reader.nextLine();
//generateKey(machineCode);
StringBuilder stringBuilder = new StringBuilder();
String Username = "我是中国娃哈哈我是中国娃哈哈我是中国娃哈哈";
int length = Username.length();
System.out.println(length);
if (length > 14 && length <= 21) {
String substring = Username.substring(0, 7);
String substring1 = Username.substring(7, 14);
String substring2 = Username.substring(14, length);
stringBuilder.append(substring).append("\n").append(substring1).append("\n").append(substring2);
} else if (length > 7 && length <= 14) {
String substring = Username.substring(0, 7);
String substring1 = Username.substring(7, length);
stringBuilder.append(substring).append("\n").append(substring1);
} else if (length <= 7) {
String substring = Username.substring(0, length);
stringBuilder.append(substring);
}
System.out.println(stringBuilder.toString());
}
public static void generateKey(String hardwareId) throws NoSuchAlgorithmException {
String proKey = transform(61305 + hardwareId + 8552);
String pfKey = transform(2356 + hardwareId + 13593);
System.out.println("请将此行复制到离线激活中:" + proKey);
System.out.println(pfKey);
}
public static String transform(String str) throws NoSuchAlgorithmException {
String md5 = hashMD5(str);
return hashMD5(str).substring(8, 24);
}
public static String hashMD5(String str) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] hashed = digest.digest(str.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : hashed) {
int len = b & 0xFF;
if (len < 16) {
sb.append("0");
}
sb.append(Integer.toHexString(len));
}
return sb.toString();
}
}