MD5加密

来源:互联网 发布:蓝狐网络培训 编辑:程序博客网 时间:2024/06/08 16:33

  首先说一下,,,,MD5是不可逆加密,,你要是用MD5解密,,,你就炸了。。。

 MD5的作用主要是用来校验数据的完整性,比如你有一个文件(数据:字符串)你加密之后生成MD5字符串,然后把你的文件传给别人或者是传到服务器,别人再用MD5加密得到字符串,跟你加密的字符串进行比较就知道两个文件是不是一样了。

public class CryptoUtils {    private static final char HEX_DIGITS[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};    private static String ToHexStr(byte[] data) {        StringBuffer buf = new StringBuffer(data.length << 1);        for (int i = 0; i < data.length; i++) {            buf.append(HEX_DIGITS[(data[i] >>> 4) & 0x0f]);            buf.append(HEX_DIGITS[data[i] & 0x0f]);        }        return buf.toString();    }    public static String Encrypt(String algorithm, byte[] data) {        try {            MessageDigest md = MessageDigest.getInstance(algorithm);            md.update(data);            return ToHexStr(md.digest());        } catch (Throwable e) {            e.printStackTrace();        }        return "";    }    public static String Encrypt(String algorithm, String data) {        try {            return Encrypt(algorithm, data.getBytes());        } catch (Throwable e) {            e.printStackTrace();        }        return "";    }}

使用:

String encrypt = CryptoUtils.Encrypt("MD5", "cy");


原创粉丝点击