rfcs: http://www.faqs.org/rfcs/rfc1321.html
1
import java.security.*;
2
import java.security.spec.*;
3
4
public class MD5{
5
public String convert(String s){
6
char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
7
try {
8
byte[] bytes = s.getBytes();
9
MessageDigest md = MessageDigest.getInstance("MD5");
10
md.update(bytes);
11
bytes = md.digest();
12
int j = bytes.length;
13
char[] chars = new char[j * 2];
14
int k = 0;
15
for (int i = 0; i < bytes.length; i++) {
16
byte b = bytes[i];
17
chars[k++] = hexChars[b >>> 4 & 0xf];
18
chars[k++] = hexChars[b & 0xf];
19
}
20
return new String(chars);
21
}
22
catch (Exception e){
23
return null;
24
}
25
}
26
27
public static void main(String[] args){
28
System.out.println(new MD5().convert("0123456789"));
29
}
30
}

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
