如何表示给定字符串';在java中,UTF-8编码是一种长编码吗?

如何表示给定字符串';在java中,UTF-8编码是一种长编码吗?,java,byte,Java,Byte,如何在java中将给定字符串的UTF-8编码字节的MD5哈希的前8个字节表示为长字节?public static void main(final String[]args)引发异常 public static void main(final String[] args) throws Exception { final MessageDigest md5 = MessageDigest.getInstance("MD5"); final byte[] digest = md5.d

如何在java中将给定字符串的UTF-8编码字节的MD5哈希的前8个字节表示为长字节?

public static void main(final String[]args)引发异常
public static void main(final String[] args) throws Exception
{
    final MessageDigest md5 = MessageDigest.getInstance("MD5");
    final byte[] digest = md5.digest("Grommit".getBytes("UTF-8"));
    long result = 0;
    for (int i = 0; i < 8; i++)
    {
        System.out.println(Long.toHexString(0xFFL & digest[i]));
        result |= (0xFFL & digest[i]) << (i * 8);
    }
    System.out.println(Long.toHexString(result));
}
{ final MessageDigest md5=MessageDigest.getInstance(“md5”); 最终字节[]摘要=md5.digest(“Grommit.getBytes”(“UTF-8”); 长结果=0; 对于(int i=0;i<8;i++) { System.out.println(长.toHexString(0xFFL&digest[i]); 结果|=(0xFFL&digest[i])
publicstaticvoidmain(最终字符串[]args)引发异常
{
final MessageDigest md5=MessageDigest.getInstance(“md5”);
最终字节[]摘要=md5.digest(“Grommit.getBytes”(“UTF-8”);
长结果=0;
对于(int i=0;i<8;i++)
{
System.out.println(长.toHexString(0xFFL&digest[i]);
结果|=(0xFFL&digest[i])试试这个:

MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] digest = md5.digest("Wallace".getBytes("UTF-8"));
long result = ByteBuffer.wrap(digest).getLong();
试试这个:

MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] digest = md5.digest("Wallace".getBytes("UTF-8"));
long result = ByteBuffer.wrap(digest).getLong();

糟糕!API知识胜过比特旋转知识。+1糟糕!API知识胜过比特旋转知识。+1