SHA加密过程-JAVA代码测试

来源:互联网 发布:无人机飞控系统编程 编辑:程序博客网 时间:2024/06/03 21:50

一、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地址不同但内容相同字符串的加密结果相同。

0 0
原创粉丝点击