java吧 关注:1,265,769贴子:12,770,434
  • 11回复贴,共1

【有没有反编译大神】

只看楼主收藏回复

public class EncryptUtil
{
private static Map<Integer, Character> dec_hex36Map;
private static Map<Character, Integer> hex36_decMap;
public static String asciiToString(String paramString)
{
StringBuffer localStringBuffer = new StringBuffer();
String[] arrayOfString = paramString.split(",");
for (int i = 0; ; i++)
{
if (i >= arrayOfString.length)
return localStringBuffer.toString();
localStringBuffer.append((char)Integer.parseInt(arrayOfString[i]));
}
}
public static String getMd5(String paramString)
throws Exception
{
return Md5.stringify(new Md5(paramString).getDigest());
}
public static String getMd5_2(String paramString)
throws Exception
{
String str = "";
String[] arrayOfString = getMd5(paramString).split("");
int i = arrayOfString.length;
int j = 0;
if (j >= i)
return getMd5(str);
if ((j == 3) || (j == 10) || (j == 17) || (j == 25));
while (true)
{
j++;
break;
str = str + arrayOfString[j];
}
}
private static void initDec_hex36Map()
{
if (dec_hex36Map == null)
dec_hex36Map = new HashMap();
int i = 0;
if (i >= 10);
for (int j = 0; ; j++)
{
if (j >= 26)
{
return;
char c1 = (char)(i + 48);
dec_hex36Map.put(Integer.valueOf(i), Character.valueOf(c1));
i++;
break;
}
char c2 = (char)(j + 97);
dec_hex36Map.put(Integer.valueOf(j + 10), Character.valueOf(c2));
}
}
private static void initHex36_decMap()
{
if (hex36_decMap == null)
hex36_decMap = new HashMap();
int i = 48;
if (i > 57);
for (int j = 65; ; j++)
{
if (j > 90)
{
return;
hex36_decMap.put(Character.valueOf((char)i), Integer.valueOf(i - 48));
i++;
break;
}
hex36_decMap.put(Character.valueOf((char)j), Integer.valueOf(j - 55));
}
}
public static void main(String[] paramArrayOfString)
{
System.out.println(">> ..........加密测试..........");
System.out.println(of_encrypt("02130229150719", "0602020203"));
System.out.println(of_encrypt("05610510150548", "0603050127"));
System.out.println(of_encrypt("192.168.0.65", "kingo999"));
System.out.println(of_encrypt("陕西省渭南市合阳县新池镇坡南村七组", "0603050127"));
System.out.println(">> ..........解密测试..........");
System.out.println(of_decrypt("1l7ue91o6u901merx51pz52l0022xf", "0602020203"));
System.out.println(of_decrypt("1l7wpq1nlene1lt4ln1scvhn00258r", "0603050127"));
System.out.println(of_decrypt("2kz3hs2gt0of1vc6yb2hzz0c", "kingo999"));
System.out.println(of_decrypt("45l5xs4yrg3c48k3gw4dbuco3wnvkz4y64dv4ay34t4i3jpb43suce49qtb243thi900007y", "0603050127"));
}
private static String of_dec_hex36(long paramLong)
{
initDec_hex36Map();
Object localObject = "";
if (paramLong < 0L)
return "-" + of_dec_hex36(Math.abs(paramLong));
int i = (int)(paramLong % 36L);
String str = ((Character)dec_hex36Map.get(Integer.valueOf(i))).toString();
if ("".equals(localObject));
for (localObject = str; ; localObject = str + (String)localObject)
{
paramLong /= 36L;
if (paramLong > 0L)
break;
return localObject;
}
}
public static String of_decrypt(String paramString1, String paramString2)
{
if ((paramString1 == null) || ("".equals(paramString1)) || (paramString2 == null) || ("".equals(paramString2)))
return paramString1;
int i = paramString2.length();
int j = paramString1.length();
int k = j % i;
String str1 = "";
int i4;
int i5;
Object localObject1;
Object localObject2;
int i2;
for (int m = 0; ; m = i2)
{
if (m >= j)
{
int i3 = (int)Math.ceil(9.0D * (1.0D * j / 3.0D / 6.0D) / i);
i4 = m;
i5 = 1;
localObject1 = str1;
localObject2 = "";
if (i5 <= i3)
break;
return localObject2;
}
int n = m;
int i1 = n + 6;
if (i1 >= j)
i1 = j;
String str2 = paramString1.substring(n, i1);
i2 = m + 6;
String str3 = "000000000" + of_hex36_dec(str2);
String str4 = str3.substring(str3.length() - 9, str3.length());
str1 = str1 + str4;
}
Object localObject3 = localObject2;
Object localObject4 = localObject1;
int i6 = 1;
int i7 = i4;
while (true)
{
label229: Object localObject5;
if (i6 > i)
{
i4 = i7;
localObject5 = localObject3;
}
int i8;
String str5;
while (true)
{
i5++;
localObject2 = localObject5;
localObject1 = localObject4;
break;
i8 = 3 * (i * (i5 - 1)) + 3 * (i6 - 1);
if ("000".equals(((String)localObject4).substring(i8, i8 + 3)))
{
localObject4 = ((String)localObject4).substring(0, i8 - 1) + ((String)localObject4).substring(i8 + 2);
i7 = i8;
break label229;
}
int i9 = Integer.valueOf(((String)localObject4).substring(i8, i8 + 3)).intValue() - Integer.valueOf(stringToAscii(paramString2.substring(i6 - 1, i6))).intValue() - k;
str5 = localObject3 + (char)i9;
if (i8 + 3 < ((String)localObject4).length())
break label425;
localObject5 = str5;
i4 = i8;
}
label425: i6++;
localObject3 = str5;
i7 = i8;
}
}
public static String of_encrypt(String paramString1, String paramString2)
{
if ((paramString1 == null) || ("".equals(paramString1)) || (paramString2 == null) || ("".equals(paramString2)))
return paramString1;
int i = paramString2.length();
int j = paramString1.length();
int k = (int)Math.ceil(1.0D * j / i);
int m = 6 * (int)Math.ceil(6.0D * (3.0D * j) / 9.0D / 6.0D) % i;
Object localObject1 = "";
int n = 0;
int i4;
String str5;
if (n >= k)
{
i4 = 0;
str5 = "";
}
while (true)
{
if (i4 >= ((String)localObject1).length())
{
return str5;
Object localObject2 = localObject1;
label274: for (int i1 = 1; ; i1++)
{
if (i1 > i);
for (localObject1 = localObject2; ; localObject1 = localObject2)
{
n++;
break;
int i2 = i1 + n * i;
String str1 = paramString1.substring(i2 - 1, i2);
String str2 = paramString2.substring(i1 - 1, i1);
int i3 = m + (Integer.valueOf(stringToAscii(str1)).intValue() + Integer.valueOf(stringToAscii(str2)).intValue());
String str3 = "000" + String.valueOf(i3);
String str4 = str3.substring(str3.length() - 3, str3.length());
localObject2 = localObject2 + str4;
if (i2 != j)
break label274;
}
}
}
int i5 = i4;
int i6 = i5 + 9;
if (i6 >= ((String)localObject1).length())
i6 = ((String)localObject1).length();
String str6 = ((String)localObject1).substring(i5, i6);
int i7 = i4 + 9;
String str7 = "000000" + of_dec_hex36(Long.valueOf(str6).longValue());
String str8 = str7.substring(str7.length() - 6, str7.length());
str5 = str5 + str8;
i4 = i7;
}
}
private static long of_hex36_dec(String paramString)
{
initHex36_decMap();
int i = 0;
String str = paramString.toUpperCase();
char[] arrayOfChar = str.toCharArray();
int j = str.length();
for (int k = 0; ; k++)
{
if (k >= j)
return i;
char c = arrayOfChar[k];
if ('-' == c)
return 0L - of_hex36_dec(str.substring(1));
i = i * 36 + ((Integer)hex36_decMap.get(Character.valueOf(c))).intValue();
}
}
public static String stringToAscii(String paramString)
{
StringBuffer localStringBuffer = new StringBuffer();
char[] arrayOfChar = paramString.toCharArray();
int i = 0;
if (i >= arrayOfChar.length)
return localStringBuffer.toString();
if (i != arrayOfChar.length - 1)
localStringBuffer.append(arrayOfChar[i]).append(",");
while (true)
{
i++;
break;
localStringBuffer.append(arrayOfChar[i]);
}
}
public static String toParam(String paramString1, String paramString2)
{
try
{
String str = "param=" + of_encrypt(paramString1, paramString2) + "&param2=" + getMd5_2(paramString1);
return str;
}
catch (Exception localException)
{
}
return "param=error&param2=error";
}
public static Map<String, String> toParamPost(String paramString1, String paramString2)
{
HashMap localHashMap = new HashMap();
try
{
localHashMap.put("param", of_encrypt(paramString1, paramString2));
localHashMap.put("param2", getMd5_2(paramString1));
return localHashMap;
}
catch (Exception localException)
{
localHashMap.put("param", "error");
localHashMap.put("param2", "error");
}
return localHashMap;
}
public static Map<String, String> toParamPost(Map<String, String> paramMap, String paramString)
{
String str1 = "";
Iterator localIterator = paramMap.entrySet().iterator();
HashMap localHashMap;
while (true)
{
if (!localIterator.hasNext())
{
if (str1.indexOf("&") == 0)
str1 = str1.substring(1);
localHashMap = new HashMap();
}
try
{
localHashMap.put("param", of_encrypt(str1, paramString));
localHashMap.put("param2", getMd5_2(str1));
return localHashMap;
Map.Entry localEntry = (Map.Entry)localIterator.next();
String str2 = ((String)localEntry.getKey()).trim();
String str3 = ((String)localEntry.getValue()).trim();
str1 = str1 + "&" + str2 + "=" + str3;
}
catch (Exception localException)
{
localHashMap.put("param", "error");
localHashMap.put("param2", "error");
}
}
return localHashMap;
}
}
【这是反编译后的代码,求大神帮忙理一下】


IP属地:广东1楼2014-12-26 16:55回复
    还好我不是大神


    IP属地:河南来自Android客户端3楼2014-12-26 17:23
    回复
      2025-06-23 13:39:51
      广告
      还好我不是大神


      IP属地:上海4楼2014-12-26 17:35
      回复
        青果课程表的


        IP属地:四川5楼2015-06-25 23:14
        收起回复
          楼主 这两个参数的算法弄出来了没呀,最近挺需要的


          6楼2017-01-05 14:51
          回复