版本更新至:3.76

调整:开发框架改为 Gradle
新增:Language2 工具新增 [book] 类型
This commit is contained in:
坏黑
2018-03-10 21:13:05 +08:00
parent 6439e4b780
commit ad1a21196f
238 changed files with 1686 additions and 1132 deletions

View File

@@ -0,0 +1,49 @@
package me.skymc.taboolib.string.obfuscated;
import javax.xml.bind.DatatypeConverter;
public class CT {
public static enum CodeType {
BASE64,
BINARY;
}
public static String encode(CodeType type, String string) {
switch (type) {
case BASE64: {
return DatatypeConverter.printBase64Binary(string.getBytes());
}
case BINARY: {
StringBuilder binary = new StringBuilder();
for (byte b: string.getBytes()) {
int value = b;
for (int i = 0; i < 8; i++) {
binary.append((value & 128) == 0 ? 0: 1);
value <<= 1;
}
binary.append(" ");
}
return binary.toString();
}
}
return "";
}
public static String decode(CodeType type, String string) {
switch (type) {
case BASE64: {
return new String(DatatypeConverter.parseBase64Binary(string));
}
case BINARY: {
StringBuilder text = new StringBuilder();
for (String segment: string.split(" ")) {
text.append(new Character((char) Integer.parseInt(segment, 2)).toString());
}
return text.toString();
}
}
return "";
}
}

View File

@@ -0,0 +1,59 @@
package me.skymc.taboolib.string.obfuscated;
@Deprecated
public class FZ {
public static String toByte(final String string) {
final StringBuilder sb = new StringBuilder("");
final byte[] bs = string.getBytes();
byte[] array;
for (int length = (array = bs).length, i = 0; i < length; ++i) {
final byte b = array[i];
sb.append(String.valueOf(b) + "#");
}
return sb.toString();
}
public static byte[] getByte(final String string) {
final String[] value = string.split("#");
final byte[] bs = new byte[value.length];
for (int i = 0; i < value.length; ++i) {
bs[i] = Byte.valueOf(value[i]);
}
return bs;
}
public static String unByte(final String string) {
final String[] value = string.split("#");
final byte[] bs = new byte[value.length];
for (int i = 0; i < value.length; ++i) {
bs[i] = Byte.valueOf(value[i]);
}
return new String(bs);
}
public static String load(final String string, final int power) {
final StringBuilder sb = new StringBuilder("");
char[] charArray;
for (int length = (charArray = string.toCharArray()).length, j = 0; j < length; ++j) {
int i;
final char c = (char)(i = charArray[j]);
i *= power;
sb.append(String.valueOf(i) + "#");
}
return sb.toString();
}
public static String load2(final String string, final int power) {
final String[] value = string.split("#");
final StringBuilder sb = new StringBuilder("");
String[] array;
for (int length = (array = value).length, j = 0; j < length; ++j) {
final String c = array[j];
int i = Integer.valueOf(c);
i /= power;
sb.append((char)i);
}
return sb.toString();
}
}

View File

@@ -0,0 +1,48 @@
package me.skymc.taboolib.string.obfuscated;
import me.skymc.taboolib.Main;
@Deprecated
public class RS {
private static final char[] charsDown = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
private static final char[] charsUp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
public static char getRandomCharacter() {
return charsDown[Main.getRandom().nextInt(charsDown.length)];
}
public static char getRandomCharacter(Boolean isUp) {
if (isUp) {
return charsUp[Main.getRandom().nextInt(charsUp.length)];
}
return charsDown[Main.getRandom().nextInt(charsDown.length)];
}
public static String getRandomString(int length) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < length; i++) {
builder.append(getRandomCharacter());
}
return builder.toString();
}
public static String getRandomString(String prefix, String rule, Boolean isUp) {
StringBuilder builder = new StringBuilder(prefix + "-");
String[] value = rule.split("-");
int size = 0;
for (String subrule : value) {
size++;
for (int i = 0; i < Integer.valueOf(subrule); i++) {
builder.append(getRandomCharacter(isUp));
}
if (!(size == value.length)) {
builder.append("-");
}
}
return builder.toString();
}
}