虽然说,SHA1不安全,都推荐用SHA256,但是有些时候还是必须用的,比如微信接入认证就必须规定是SHA1加密,所以这里也记录一下:
/**
* SHA1不可逆加密工具
*/
public class SHA1 {
public static String getSha1(byte[] input) throws NoSuchAlgorithmException{
MessageDigest mDigest = MessageDigest.getInstance("SHA1");
byte[] result = mDigest.digest(input);
StringBuffer sb = new StringBuffer();
for (int i = 0; i < result.length; i++) {
sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
}
public static String encode(String str) {
try {
return getSha1(str.getBytes());
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
System.out.println(encode("123123"));
}
}