ik probeer een byte array om te zetten naar chars. Alleen dit lukt niet op de manier zoals ik denk dat het moet. Het resultaat is een aantal vraagtekens. Wie weet wat ik fout doe?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Test { public static void main(String[] args) { byte[] result = getDigest("test".getBytes()); StringBuffer buffer = new StringBuffer(); for(int i = 0; i < result.length; i += 2){ byte high = result[i]; byte low = result[i+1]; char c = (char)((char) low | ((char)high << 8)); buffer.append(c); } System.out.println(buffer); } public static byte[] getDigest(byte[] buffer) { try { MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update(buffer); return md5.digest(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } } |