您的位置:首页 > 编程语言 > Java开发

SHA加密过程-JAVA代码测试

2016-09-13 14:05 288 查看
一、SHA类

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SHA {
public static final String ALGORITHM = "MD5";
//参数可选SHA/SHA1/SHA-1/SHA-256/MD5

public static String SHA256Encrypt(String orignal) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance(ALGORITHM);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
if (null != md) {
byte[] origBytes = orignal.getBytes();
md.update(origBytes);
byte[] digestRes = md.digest();
String digestStr = getDigestStr(digestRes);
return digestStr;
}
return null;
}

private static String getDigestStr(byte[] origBytes) {
String tempStr = null;
StringBuilder stb = new StringBuilder();
for (int i = 0; i < origBytes.length; i++) {
tempStr = Integer.toHexString(origBytes[i] & 0xff);
if (tempStr.length() == 1) {
stb.append("0");
}
stb.append(tempStr);
}
return stb.toString();
}
}


二、Test类

public class Test {
public static void main(String[] args) {
String s1 = SHA.SHA256Encrypt(new String ("abcd123"));
System.out.println(s1);

String s2 = SHA.SHA256Encrypt(new String ("abcd123"));
System.out.println(s2);
}


}

“`

SHA加密是不可逆的,hash地址不同但内容相同字符串的加密结果相同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SHA加密