- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
1. import java.security.MessageDigest;
2. import java.security.NoSuchAlgorithmException;
3.
4. public final class MD5Util {
5. public static final int MASK = 0xff;
6. public static final int RADIX = 16;
7.
8. private MD5Util() {
9. }
10.
11. public static String encrypt(String str) {
12. try {
13. MessageDigest md = MessageDigest.getInstance("MD5");
14. md.update(str.getBytes());
15. return byteToHexString(md.digest());
16. } catch (NoSuchAlgorithmException e) {
17. //doing smth
18. }
19. return null;
20. }
21.
22. public static String encrypt(byte[] data) {
23. try {
24. MessageDigest md = MessageDigest.getInstance("MD5");
25. md.update(data);
26. return byteToHexString(md.digest());
27. } catch (NoSuchAlgorithmException e) {
28. //doing smth
29. }
30. return null;
31. }
32.
33. public static String byteToHexString(byte[] hash) {
34. StringBuffer buf = new StringBuffer(hash.length * 2);
35.
36. for (byte b : hash) {
37. if ((b & MASK) < RADIX) {
38. buf.append("0");
39. }
40.
41. buf.append(Long.toString(b & MASK, RADIX));
42. }
43.
44. return buf.toString();
45. }
46. }
striker 02.08.2010 01:01 # +3
3.14159265 02.08.2010 10:24 # 0
ИМХО достаточно было запостить ф-цию byteToHexString()