java中的SHA单向加密
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 @Test 12 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
llh