使用Md5 的加密方式 ,对字符串进行加密

Md5 加密方式 对字符串进行加密

public class Md5Utils {
 private static String EncoderByMd5(String str) {
  try {
//  生成实现指定摘要算法的 MessageDigest 对象。
   MessageDigest md = MessageDigest.getInstance("MD5");
   // 先将字符串转换成字节数组,然后 使用字节数组更新摘要
       md.update(str.getBytes());
   //  通过执行诸如填充之类的最终操作完成哈希计算。
       byte[] encryContext = md.digest();
       int i;
       StringBuffer buf = new StringBuffer("");
   // 
       for (int offset = 0; offset < encryContext.length; offset++) {
                i = encryContext[offset];
                if (i < 0)
                     i += 256;
                if (i < 16)
                     buf.append("0");
                buf.append(Integer.toHexString(i)); //16进制的加密方式
           }
       return buf.toString();
      } catch (Exception e) {
               e.printStackTrace();
      }
          return null;
     }
//两次调用加密方法对字符串进行加密
//如果为了防止被反编译破解,可以对第一次的MD5加密码进行截取,然后再加密截取的部分。
 public static String getMd5Str(String str) {
  return EncoderByMd5(EncoderByMd5(str));
 }

}

注意:
1、
java.security. MessageDigest 类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。
简单点说就是用于生成 散列码
信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。

2、

MessageDigest 通过其getInstance系列静态函数来进行实例化和初始化。

MessageDigest 对象通过使用 update 方法处理数据。

任何时候都可以调用 reset 方法重置摘要。一旦所有需要更新的数据都已经被更新了,

应该调用 digest 方法之一完成哈希计算并返回结果。


3、

对于给定数量的更新数据,digest 方法只能被调用一次。

digest 方法被调用后,MessageDigest  对象被重新设置成其初始状态。


4、

java.security.MessageDigest类的网址

http://hubingforever.blog.163.com/blog/static/171040579201210781650340/


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值