MD5

     MD5 MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,
     广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。
     好比现在的ISO校验,都是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。
     一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串。就是用来验证文件是否一致的。

     通常我们不直接使用MD5字节码,因为直接字符化一般是不可读的。通常将MD5产生的字节数组交给BASE64再加密一次,得到相应的可读字符串。


public class MD5Test {

    Logger logger = Logger.getLogger(this.getClass().getName());
    String charset_utf8 = "UTF-8";
    private String srcStr = "壹贰叁肆伍陆柒捌玖拾佰仟万亿零整元角分";
    public static final String KEY_SHA = "SHA";
    public static final String KEY_MD5 = "MD5";


    @Test
    public void test1() {
        try {
            MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
            md5.update(srcStr.getBytes(charset_utf8));

            byte[] md5s = md5.digest();
            String enmd5Base64Str = Base64.getEncoder().encodeToString(md5s);

            logger.info(new String(md5s, charset_utf8));
            logger.info(enmd5Base64Str);

        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(MD5Test.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(MD5Test.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值