|
30精币
string1:device_token=BZ5hRcQvoVMnsoLBoZSnRKSR5o1OvZRjy5_Z5_BVR1DRo5FVvRSvRKRvo1gFRRSRoKSOyk1_RRRB51cO5cQ_5_SOR5SRvZ5ZR_Z_RcMOy7RMvRQMRogiZ_Kg_1JRvZS_vZyMoZMMvRJjvogiZ_Kg_1SvoogOy51BRZRnocFp-VFkoRlngf1JS1cvRRynFH_yFcsQny_ZC7Jn5QsJy_FVVotvRKFyF7tZ5_sS_1SQ_1JjoRDnoRynooJ__1ynoZ00&phone=13276781236&codetype=active_phone_reg
string2:AndroidM%$%^DGDls@#$(Fdfs&^**^&*5685645ljdlfkgnlsdfsDFGDFHD$#%^$%&^#$@
public static String yiEncode(String str, String str2) {
byte[] bytes = str.getBytes("UTF-8");
int i;
byte[] bArr = new byte[bytes.length];
for (i = 0; i < bytes.length; i++) {
bArr[i] = (byte) (bytes[i] ^ str2.charAt(i % str2.length()));
}
String encodeToString = Base64.encodeToString(bArr, 2);
for (i = 0; i < encodeToString.length(); i++) {
char charAt = encodeToString.charAt(i);
if ("/".equals(charAt + "")) {
encodeToString = encodeToString.replace(charAt + "", "_").trim();
} else if ("+".equals(charAt + "")) {
encodeToString = encodeToString.replace(charAt + "", "-").trim();
} else if ("=".equals(charAt + "")) {
encodeToString = encodeToString.replace(charAt + "", "").trim();
}
}
return URLEncoder.encode(encodeToString, "UTF-8");
}
结果:JQsSGwwMOzlKT0AweQUeWRsSQHVeKTIrHVUxZmgxfHlbZHNmZAFaXSUSNjQBHlszKVE5MRIUdgAUJ3FidVMMd1N0FXFSL3AJIiA9OjYibndqJy92Gz4hEmERGSUrUxB3AR91DWl4AGVqQ2wBbz41PjM0CCohFUQ2KwUWFwoWKS8tfnxuOXsUbAxVfhMeGD4LIgY-AGhSdxQuMSsLGhp8b08ZVTUFSTFNZScTG3dkYmdYW1YqGkk6IAAIPAAdAwBCDhV2JzAaFl1NYxZ7XGA9UHUuODE-MVgjCnh0V28nGwESOhw0VXZjAB0gRFIEH3UtdXUEZWlqB35fAzggAgk5HgADHC45LHU_KSsceHQCU00xSkAbbxAWd3dZXENdWlJrRktBOzA-NAlOIUBQQTABOQNOMURPAVRPUg
java代码翻译成易语言代码 用string1和string2算出和结果一样的答案 现在卡在 bArr[i] = (byte) (bytes[i] ^ str2.charAt(i % str2.length()));这句代码不知道是什么意思 "/".equals(charAt + "")和encodeToString.replace(charAt + "", "_").trim();是什么意思 对java的代码不是很了解 求Java大神帮忙写个demo 感激不尽!
|
|