这段java代码怎么理解

2025-05-08 19:59:18
推荐回答(3个)
回答1:

好多自定义方法的代码没有贴出来 看起来像是在给字符串进行md5加密 但是不能完全确定,

你可以在下面追问,把完整的贴出来,我再看看。

回答2:

for (int j = 0; j < (length / 2); j++)
{
str2 = serialNumber[(j * 2) + 1].ToString("X");
buffer[count++] = (byte) str2[0];
buffer[count++] = (byte) str2[1];
str2 = serialNumber[j * 2].ToString("X");
buffer[count++] = (byte) str2[0];
buffer[count++] = (byte) str2[1];
}

byte是256大小转成16进制就是两位

把这个byte转成两位

是把这个字符串重拍0123变成2301

buffer[count++] = 0x31;
buffer[count++] = 0x24;
buffer[count++] = 0x24;
buffer[count++] = 0x30;

这地方是把数组最后4位加上4个特定的值(49,36,36,48?)

byte[] buffer2 = new MD5CryptoServiceProvider().ComputeHash(buffer, 0, count);
StringBuilder builder = new StringBuilder();
for (int k = 0; k < 10; k++)
{
builder.Append((char) (0x30 + (buffer2[k] % 10)));
}
return builder.ToString();

这里是转码后的代码再加密一遍返回吧。

还有这是java代码吗,感觉好坑。

手法有限,这是所有理解,希望有帮助吧

回答3:

md5加密过程