对字符串进行MD5数字签名加密

来源:互联网 发布:vue.js 显示 内容更多 编辑:程序博客网 时间:2024/05/22 01:31

给指定字符串通过MD5进行加密,MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。

import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Tool {    /**     * Return hash in upper case.     * @param s     * @return     */    public final static String encode(String s) {        char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};        try {            byte[] btInput = s.getBytes("UTF-8");            // 获得MD5摘要算法的 MessageDigest 对象            MessageDigest mdInst = MessageDigest.getInstance("MD5");            // 使用指定的字节更新摘要            mdInst.update(btInput);            // 获得密文            byte[] md = mdInst.digest();            // 把密文转换成十六进制的字符串形式            int j = md.length;            char str[] = new char[j * 2];            int k = 0;            for (int i = 0; i < j; i++) {                byte byte0 = md[i];                str[k++] = hexDigits[byte0 >>> 4 & 0xf];                str[k++] = hexDigits[byte0 & 0xf];            }            return new String(str);        } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {            e.printStackTrace();            return null;        }    }}
0 0