1
주어진 String의 UTF-8 인코딩의 바이트 중 MD5 해시의 상위 8 바이트를 Java에서 long으로 나타내는 방법은 무엇입니까?주어진 String의 UTF-8 인코딩의 바이트 중 MD5 해시의 상위 8 바이트를 Java에서 long으로 나타내는 방법은 무엇입니까?
주어진 String의 UTF-8 인코딩의 바이트 중 MD5 해시의 상위 8 바이트를 Java에서 long으로 나타내는 방법은 무엇입니까?주어진 String의 UTF-8 인코딩의 바이트 중 MD5 해시의 상위 8 바이트를 Java에서 long으로 나타내는 방법은 무엇입니까?
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));
}
이 시도 :
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] digest = md5.digest("Wallace".getBytes("UTF-8"));
long result = ByteBuffer.wrap(digest).getLong();
Booya을! API에 대한 지식은 비트 트위 더링에 대한 지식보다 우선합니다. +1 –