SHA全名叫做安全散列算法,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。
1 package log; 2 3 import java.math.BigInteger; 4 import java.security.MessageDigest; 5 6 import org.junit.Test; 7 8 public class Test5 { 9 public static final String KEY_SHA = "SHA";10 11 @Test12 public void addPwd() {13 String inputStr = "123456";14 BigInteger sha = null;15 System.out.println("=======加密前的数据:" + inputStr);16 byte[] inputData = inputStr.getBytes();17 try {18 MessageDigest messageDigest = MessageDigest.getInstance(KEY_SHA);19 messageDigest.update(inputData);20 sha = new BigInteger(messageDigest.digest());21 System.out.println("SHA加密后:" + sha.toString(32));22 } catch (Exception e) {23 e.printStackTrace();24 }25 }26 27 }
加密算法之后以“123456”为例:
=======加密前的数据:123456
SHA加密后:fh58q2ea6thauof5ikg98fe2ciafh50r