Md5Utils

import java.io.File;
import java.io.FileInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;


public class Md5Utils {


private static final String YAN = "isgu&*%^2345UTF23(*&ywtdfkxjf47";

/**
* 对输入的密码明文进行md5加密
* @param password
* @return
*/
public static String md5Encrypt(String password) {


try {
password= YAN+password;

StringBuffer sb = new StringBuffer();


MessageDigest digest = MessageDigest.getInstance("md5");// algorithm


byte[] bytes = digest.digest(password.getBytes()); // 参数是,明文字节数组,返回的就是加密后的结果,字节数组
for (byte b : bytes) {
// 数byte 类型转换为无符号的整数
int n = b & 0XFF;


// 将整数转换为16进制
String s = Integer.toHexString(n);
// 如果16进制字符串是一位,那么前面补0
if (s.length() == 1) {
sb.append("0" + s);
} else {
sb.append(s);
}
}


return sb.toString();


} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}


/**
* 计算文件的md5值
* @param file
* @return
*/
public static String getFileMd5(File file){

try {

StringBuffer sb = new StringBuffer();

MessageDigest digest = MessageDigest.getInstance("md5");// algorithm

FileInputStream fin = new FileInputStream(file);

int len = -1;
byte[] buffer = new byte[1024];
// 将整个文件的字节都读入加密器
while((len = fin.read(buffer))!=-1){
digest.update(buffer, 0, len);
}

byte[] bytes = digest.digest();  // 对读入的内容进行加密


for (byte b : bytes) {
// 数byte 类型转换为无符号的整数
int n = b & 0XFF;

// 将整数转换为16进制
String s = Integer.toHexString(n);
// 如果16进制字符串是一位,那么前面补0
if(s.length() == 1){
sb.append("0"+s);
}else{
sb.append(s);
}
}

return sb.toString();

} catch (Exception e) {
e.printStackTrace();
}

return null;

}



}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值