本文实例讲述了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小时内与您取得联系。