public static final String a(byte[] paramArrayOfByte)
 {
 int i = 0;
 char[] arrayOfChar1 = new char[16];
 arrayOfChar1[0] = 48;
 arrayOfChar1[1] = 49;
 arrayOfChar1[2] = 50;
 arrayOfChar1[3] = 51;
 arrayOfChar1[4] = 52;
 arrayOfChar1[5] = 53;
 arrayOfChar1[6] = 54;
 arrayOfChar1[7] = 55;
 arrayOfChar1[8] = 56;
 arrayOfChar1[9] = 57;
 arrayOfChar1[10] = 97;
 arrayOfChar1[11] = 98;
 arrayOfChar1[12] = 99;
 arrayOfChar1[13] = 100;
 arrayOfChar1[14] = 101;
 arrayOfChar1[15] = 102;
 try
 {
 MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");
 localMessageDigest.update(paramArrayOfByte);
 byte[] arrayOfByte = localMessageDigest.digest();
 int j = arrayOfByte.length;
 char[] arrayOfChar2 = new char[j * 2];
 int k = 0;
 while (i < j)
 {
 int m = arrayOfByte[i];
 int n = k + 1;
 arrayOfChar2[k] = arrayOfChar1[(0xF & m >>> 4)];
 k = n + 1;
 arrayOfChar2[n] = arrayOfChar1[(m & 0xF)];
 i++;
 }
 str = new String(arrayOfChar2);
 return str;
 }
 catch (Exception localException)
 {
 while (true)
 String str = null;
 }
 }
private String b(List<NameValuePair> paramList)
 {
 StringBuilder localStringBuilder = new StringBuilder();
 for (int i = 0; i < paramList.size(); i++)
 {
 localStringBuilder.append(((NameValuePair)paramList.get(i)).getName());
 localStringBuilder.append('=');
 localStringBuilder.append(((NameValuePair)paramList.get(i)).getValue());
 localStringBuilder.append('&');
 }
 localStringBuilder.append("key=");
 localStringBuilder.append("6aa3048fd034778fbba75e342bb4d2c2");
 String str = a(localStringBuilder.toString().getBytes()).toUpperCase();
 return URLEncodedUtils.format(paramList, "utf-8") + "&sign=" + str;
 }
看计算机基础,这些怎么运算都有
学了计算机导论,毕竟理论没有实践啊
@我叫名称: 这些运算没什么可以实践的,都是死的东西
@稳稳的河: 能不能帮分析下,朋友
@我叫名称: 你学了组成原理没有,自己去看下这移位运算呗
@稳稳的河: 学了c,计算机导论(里面有些二进制的东西),java,移位都有的,可这段代码还是有些疑问啊