全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java实现的MD5摘要算法完整实例

本文实例讲述了java实现的MD5摘要算法。分享给大家供大家参考,具体如下:

package com.soufun.com;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
 * @author WHD
 */
public class MD5Test {
  // MD5 单向加密
  public static void main(String[] args) throws NoSuchAlgorithmException,
      UnsupportedEncodingException {
    String str = "hellomd摘要算法开始";
    System.out.println("原始值" + str);
    System.out.println("加密后的" + MD5Test.afterMD5(str));
    String digest = MD5Test.afterMD5(str);
    System.out.println(digest.equals(MD5Test.afterMD5(str)));
  }
  public static String afterMD5(String str) throws NoSuchAlgorithmException,
      UnsupportedEncodingException {
    // 获取MD5 加密对象,还可以获取SHA加密对象
    MessageDigest md5 = MessageDigest.getInstance("MD5");
    // 将输入的信息使用指定的编码方式获取字节
    byte[] bytes = str.getBytes("UTF-8");
    // 使用md5 类来获取摘要,也就是加密后的字节
    md5.update(bytes);
    byte[] md5encode = md5.digest();
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i < md5encode.length; i++) {
      // 使用&0xff 不足24高位,因为只占了8低位
      int val = ((int) md5encode[i]) & 0xff;
      if (val < 16) {
        buffer.append("0");
      }
      // 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
      buffer.append(Integer.toHexString(val));
    }
    return buffer.toString();
  }
}

使用org.apache.commons.codec.digest.DigestUtilsorg.apache.commons.codec.digest.DigestUtils来实现md5加密

在maven中的配置:

<dependency>
  <groupId>commons-codec</groupId>
  <artifactId>commons-codec</artifactId>
  <version>1.4</version>
</dependency>

这里注意1.2版本和1.4版本的区别很大,因为1.4中扩展了很多方法.
具体代码如下:

public static String afterMd5(String str){
      try {
      String md5 = DigestUtils.md5Hex(str.getBytes("UTF-8"));
      return md5;
    } catch (UnsupportedEncodingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
      return null;
}

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

密码安全性在线检测:
http://tools./password/my_password_safe

高强度密码生成器:
http://tools./password/CreateStrongPassword

迅雷、快车、旋风URL加密/解密工具:
http://tools./password/urlrethunder

在线散列/哈希算法加密工具:
http://tools./password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools./password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools./password/sha_encode

希望本文所述对大家java程序设计有所帮助。


# java  # MD5  # 算法  # java获取手机已安装APK的签名摘要  # Java实现MD5消息摘要算法  # 浅析java消息摘要与数字签名  # 还可以  # 加密工具  # 感兴趣  # 给大家  # 占了  # 来实现  # 所述  # 程序设计  # 高强度  # 加密解密  # 讲述了  # byte  # getInstance  # UTF  # getBytes  # bytes  # SHA  # println  # System  # equals 


相关文章: 建站10G流量真的够用吗?如何应对访问高峰?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  建站主机选购指南:核心配置优化与品牌推荐方案  如何使用Golang安装API文档生成工具_快速生成接口文档  如何在景安服务器上快速搭建个人网站?  如何在云指建站中生成FTP站点?  c# 服务器GC和工作站GC的区别和设置  免费视频制作网站,更新又快又好的免费电影网站?  建站之星如何助力企业快速打造五合一网站?  代购小票制作网站有哪些,购物小票的简要说明?  如何在Golang中使用replace替换模块_指定本地或远程路径  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何快速生成可下载的建站源码工具?  如何快速搭建虚拟主机网站?新手必看指南  如何在万网主机上快速搭建网站?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  制作宣传网站的软件,小红书可以宣传网站吗?  如何快速重置建站主机并恢复默认配置?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  建站之星价格显示格式升级,你的预算足够吗?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何选择美橙互联多站合一建站方案?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  C#怎么创建控制台应用 C# Console App项目创建方法  如何通过可视化优化提升建站效果?  北京企业网站设计制作公司,北京铁路集团官方网站?  深圳网站制作案例,网页的相关名词有哪些?  b2c电商网站制作流程,b2c水平综合的电商平台?  宝塔建站助手安装配置与建站模板使用全流程解析  如何用5美元大硬盘VPS安全高效搭建个人网站?  建站主机是否属于云主机类型?  如何批量查询域名的建站时间记录?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何通过宝塔面板实现本地网站访问?  湖北网站制作公司有哪些,湖北清能集团官网?  建站之星ASP如何实现CMS高效搭建与安全管理?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何配置FTP站点权限与安全设置?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何在阿里云通过域名搭建网站?  宝塔Windows建站如何避免显示默认IIS页面?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何零基础在云服务器搭建WordPress站点?  Bpmn 2.0的XML文件怎么画流程图  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在云主机快速搭建网站站点?  如何用好域名打造高点击率的自主建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。