SHA加密过程-JAVA代码测试

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值