资讯专栏INFORMATION COLUMN

分享一个MD5加密的工具类

megatron / 2286人阅读

摘要:因为工具类方法不需要实例化生成位密文生成一个加密计算摘要调用方法计算函数参数将密码串转换为操作系统的字节编码最后返回的值,返回值为位的字符串,但此方法要先调用函数则将位的字符串转换成位值,用字符串来表示得到字符串形式的值数值从开始会把省略掉

package Utile;
import java.math.BigInteger;
import java.security.MessageDigest;
public class MD5_Utile {

//因为工具类方法不需要实例化    
// 生成16位MD5密文
    public static String getMD5(String c_password) {
        try {
            // 生成一个MD5加密计算摘要
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 调用update方法计算MD5函数(参数:将密码串转换为操作系统的字节编码)
            md.update(c_password.getBytes());
            // digest()最后返回md5的hash值,返回值为8位的字符串,但此方法要先调用update
            // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值,数值从1开始
            // BigInteger会把0省略掉,需补全至32位,重写一个方法将16位数转换为32位数
            String md5 = new BigInteger(1, md.digest()).toString(16);
            return fillMD5(md5);
        } catch (Exception e) {
            throw new RuntimeException("MD5加密错误:" + e.getMessage(), e);
        }
    }

    // 将16位数转为32位
    public static String fillMD5(String md5) {
        return md5.length() == 32 ? md5 : fillMD5("0" + md5);
    }    

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67495.html

相关文章

  • android开发MD5加密工具

    摘要:本文分享开发加密工具类主要代码,供技术员参考学习。加密需要加密的内容加密密码获得摘要算法的对象使用指定的字节更新摘要获得密文原文详情地址商城详情地址官网地址 wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享android开发MD5加密工具类主要代码,供技术员参考学习。 packag...

    happyhuangjinjin 评论0 收藏0
  • 干货:排名前16Java工具

    摘要:在中,工具类定义了一组公共方法,这篇文章将介绍中使用最频繁及最通用的工具类。另外,工具类,根据阿里开发手册,包名如果要使用不能带,工具类命名为。 showImg(https://segmentfault.com/img/remote/1460000015356958); 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法...

    nanchen2251 评论0 收藏0
  • 排名前16Java工具

    摘要:在中,工具类定义了一组公共方法,这篇文章将介绍中使用最频繁及最通用的工具类。另外,工具类,根据阿里开发手册,包名如果要使用不能带,工具类命名为 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。 一. org.apache.commons.io....

    android_c 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<