全网整合营销服务商

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

免费咨询热线: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 


相关文章: 高端网站建设与定制开发一站式解决方案 中企动力  如何在IIS中新建站点并解决端口绑定冲突?  如何制作一个表白网站视频,关于勇敢表白的小标题?  建站之星如何实现PC+手机+微信网站五合一建站?  建站主机数据库如何配置才能提升网站性能?  微信推文制作网站有哪些,怎么做微信推文,急?  如何制作算命网站,怎么注册算命网站?  如何通过WDCP绑定主域名及创建子域名站点?  潮流网站制作头像软件下载,适合母子的网名有哪些?  建站之星伪静态规则如何设置?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何用腾讯建站主机快速创建免费网站?  建站主机与服务器功能差异如何区分?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  ,sp开头的版面叫什么?  网站制作报价单模板图片,小松挖机官方网站报价?  如何选择PHP开源工具快速搭建网站?  制作营销网站公司,淘特是干什么用的?  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何通过主机屋免费建站教程十分钟搭建网站?  如何用搬瓦工VPS快速搭建个人网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  建站之星多图banner生成与模板自定义指南  宝塔建站后网页无法访问如何解决?  实现虚拟支付需哪些建站技术支撑?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  常州企业建站如何选择最佳模板?  如何通过智能用户系统一键生成高效建站方案?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何选择网络建站服务器?高效建站必看指南  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  详解jQuery停止动画——stop()方法的使用  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何在IIS7中新建站点?详细步骤解析  如何在云主机上快速搭建多站点网站?  如何解决VPS建站LNMP环境配置常见问题?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  建站VPS推荐:2025年高性能服务器配置指南  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何打造高效商业网站?建站目的决定转化率  如何通过商城自助建站源码实现零基础高效建站?  建站之星免费版是否永久可用?  建站VPS能否同时实现高效与安全翻墙?  如何有效防御Web建站篡改攻击?  高端建站三要素:定制模板、企业官网与响应式设计优化  ,石家庄四十八中学官网?  网站制作模板下载什么软件,ppt模板免费下载网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站? 

您的项目需求

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