1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.chukwa.util;
20
21 import java.security.MessageDigest;
22 import java.security.NoSuchAlgorithmException;
23
24 public class AdaptorNamingUtils {
25
26 public static String synthesizeAdaptorID(String adaptorClassName, String dataType,
27 String params) throws NoSuchAlgorithmException {
28 MessageDigest md;
29 md = MessageDigest.getInstance("MD5");
30
31 md.update(adaptorClassName.getBytes());
32 md.update(dataType.getBytes());
33 md.update(params.getBytes());
34 StringBuilder sb = new StringBuilder();
35 sb.append("adaptor_");
36 byte[] bytes = md.digest();
37 for(int i=0; i < bytes.length; ++i) {
38 if( (bytes[i] & 0xF0) == 0)
39 sb.append('0');
40 sb.append( Integer.toHexString(0xFF & bytes[i]) );
41 }
42 return sb.toString();
43
44 }
45
46 }