md5文件加密的方法(md5加密原理)

package com.tomorrowgold.common.encrypt;

import org.slf4j.LoggerFactory;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class MD5 {

// 全局数组

private final static String[] strDigits = { “0”, “1”, “2”, “3”, “4”, “5”,

“6”, “7”, “8”, “9”, “a”, “b”, “c”, “d”, “e”, “f” };

// 返回形式为数字跟字符串

private static String byteToArrayString(byte bByte) {

int iRet = bByte;

// System.out.println(“iRet=”+iRet);

if (iRet < 0) {

iRet += 256;

}

int iD1 = iRet / 16;

int iD2 = iRet % 16;

return strDigits[iD1] + strDigits[iD2];

}

// 转换字节数组为16进制字串

private static String byteToString(byte[] bByte) {

StringBuffer sBuffer = new StringBuffer();

for (int i = 0; i < bByte.length; i++) {

sBuffer.append(byteToArrayString(bByte[i]));

}

return sBuffer.toString();

}

public static String encode(String strObj) {

String resultString = null;

try {

resultString = new String(strObj);

MessageDigest md = MessageDigest.getInstance(“MD5”);

// md.digest() 该函数返回值为存放哈希值结果的byte数组

resultString = byteToString(md.digest(strObj.getBytes()));

} catch (NoSuchAlgorithmException ex) {

LoggerFactory.getLogger(MD5.class).error(“MD5加密时发生异常:”,ex);

}

return resultString;

}

public static void main(String[] args) {

System.out.println(MD5.encode(“123”)); //202cb962ac59075b964b07152d234b70

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至624739273@qq.com举报,一经查实,本站将立刻删除。
Like (0)
柳的头像

相关推荐

发表回复

Please Login to Comment
微信
微信
SHARE
TOP
要想花得少,就用购宝。话费电费9折起,官方公众号:购宝