【发布时间】:2019-04-11 02:48:16
【问题描述】:
我在将以下 Java 代码转换为与 C#.net 代码等效的 toHexString 和 MessageDigest 时遇到问题。我花了很多时间来转换它们,但似乎结果永远不会相同。
请帮助我,尤其是在 toHexString 部分。
import java.security.MessageDigest;
import java.util.Arrays;
public class Test
{
public static void main(String[] args) throws Exception
{
String keyString = "01100880200013048720181107174008PC".toString();
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(keyString.getBytes("utf-8"));
byte[] temp = md5.digest("".getBytes("utf-8"));
String result = "";
for (int i = 0; i < temp.length; ++i) {
result = result + Integer.toHexString(0xFF & temp[i] | 0xFFFFFF00).substring(6);
}
System.out.println(result);
}
}
【问题讨论】:
-
如果有兴趣将字节数组转换为十六进制,这里有个很好的话题:stackoverflow.com/questions/311165/…
标签: java c# integer message-digest