Java利用MessageDigest进行MD5加密
MD5加密工具类:
package com.lijianbo.test;import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.lang3.StringUtils;/*** MD5加密算法工具类* @author bbo**/
public class MD5Utils {/** 为了提高安全性,我们又额外加了一串随机字符串*/private static final String USER_PWD_ENCP_PREFIX = "LDHDSFHWRERHESLM";/*** 用户密码加密* @param beforeEncp* @return*/public static String encode(final String beforeEncp){if(StringUtils.isBlank(beforeEncp)){return beforeEncp;}return encryptMD5(USER_PWD_ENCP_PREFIX+beforeEncp);}/*** md5加密* @param strInput* @return*/private static String encryptMD5(final String strInput) {StringBuffer buf = null;try {// 拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”) MessageDigest md = MessageDigest.getInstance("MD5"); // 输入的字符串转换成字节数组 md.update(strInput.getBytes());// 转换并返回结果,也是字节数组,包含16个元素 byte b[] = md.digest();// new一个StringBuffer,这个就是用来组成结果字符串的(解释一下:一个byte是八位二进制,也就是2位十六进制字符(2的8次方等于16的2次方)) buf = new StringBuffer(b.length * 2);//遍历for (int i = 0; i < b.length; i++) {if (((int) b[i] & 0xff) < 0x10) { //(int) b[i] & 0xff 转换成无符号整型buf.append("0");}//Long.toHexString( 无符号长整数的十六进制字符串表示buf.append(Long.toHexString((int) b[i] & 0xff)); }} catch (NoSuchAlgorithmException ex) {ex.printStackTrace();}return buf==null?null:buf.toString(); //返回加密后 的结果}}
调用方式:
String passwordMd5=MD5Utils.encode(password);
生成第三方秘钥:
public static void main(String[] args) {try {System.out.println(MD5Utils.encode("168544234123234192.168.12.10disanfangmiyao123456789012345", "GBK").length());;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
转载于:https://blog.51cto.com/jianboli/1886833
Java利用MessageDigest进行MD5加密相关推荐
- 利用Java自带的MD5加密java.security.MessageDigest;
MD5加密算法,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2.MD3.MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著 ...
- java 赋值md5_Hook Java API以获得MD5加密前数据
Java实现MD5加密 在Java中,我们用MD5对数据进行加密,代码大概是这样的: import java.security.MessageDigest; import java.security. ...
- php md5加密 java代码_Java实现MD5加密及解密的代码实例分享
基础:MessageDigest类的使用 其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:/** * 对字符串md5加密 * * @param str ...
- java自带的md5加密_JDK自带MD5加密算法
[ 在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算 其实jdk就自带了md5加密算 ...
- Java实现Linux的md5加密,Linux_详细讲解:Linux系统GRUB的MD5加密方法,1、用grub-md5-crypt成生GRUB的md5密 - phpStudy...
详细讲解:Linux系统GRUB的MD5加密方法 1.用grub-md5-crypt成生GRUB的md5密码: 通过grub-md5-crypt对GRUB的密码进行加密码运算,比如我们想设置grub的 ...
- java messagedigest_Java 自带的加密类MessageDigest类(加密MD5和SHA)
转载 转载自:http://www.tuicool.com/articles/nMNVVj Java 自带的数据加密类MessageDigest(MD5或SHA加密) 说明: 在网站中,为了保护网站会 ...
- Java MD5加密工具
1.基本原理 MD5加密算法,其全称是Message-Digest Algorithm 5,通常被称为信息摘要算法,所谓的信息摘要就是把明文内容按一定规则生成一段哈希(hash)值,即得到这段明文内容 ...
- java+filter加密_Javaweb之Filter案例练习-自动登录问题和MD5加密
自动登录问题和MD5加密 前面已经完成了Filter的自动登录,但是有问题,我们在web.xml中Filter的url-mapping中配置的规则是/*, 也就是这个网站的所有请求都拦截.这肯定不合适 ...
- Java之加密工具类java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils
Java之加密(信息摘要)工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils) 1. java ...
- java md5加密 16进制_MD5加密,并转换为16进制
背景:在做爬虫的URL处理专题中需要对URL进行处理再存储. 要求: Java 中对数据进行MD5加密,并转换为16进制,以字符串的形式输出 (1) 在Java中,java的java.sec ...
最新文章
- 目标检测中的Tricks
- 陈天奇:深度学习编译技术的现状和未来
- shell 脚本 文件夹扫描获取文件
- .NET 中关于 TypeCode 和枚举类型的问题
- 在linux上安装docker
- 一起谈.NET技术,页面片段缓存(二)
- 自然语言处理之词向量技术(二)
- 单片机小白学步系列(七) 准备实验板——萝卜青菜,各有所爱
- python数组赋值给变量_Python:将数组中的元素导出到变量中 (unpacking)
- java 性能 优化_Java十大简单性能优化
- 十一、非规则组织分析及其数学模型——芦席斜纹组织
- Python中[index for index, value in enumerate(a) if value > 3]
- 一步一步写算法(之排序二叉树线索化)
- 【报告分享】85后、95后宝妈人群洞察报告.pdf(附下载链接)
- 如何解决更改csdn头像修改后浏览器不显示的问题
- Python安装时0x80070642问题解决
- linux下将多个文件去除文件头合并_使用 PDF Mix Tool 执行常见的 PDF 编辑任务 | Linux 中国...
- QGIS 3. 使用qgis制作三维浮雕地图
- itil 容量管理流程_ITIL的十个核心管理流程
- jQuery计算时间差和阴阳历转换
热门文章
- 将keras的模型封装成可转换为tensorlow的.pb格式,并生成.pbtxt文件
- xxx.pbtxt标签文件解析(tensorflow modles zoo)
- cad插件加载bplot成功用不了_AUTOCAD 能加载BatchPlot.VLX批量打印插件但是输入bplot打不开批量打印界面...
- FileHandler文件处理
- CRON 定时任务 在线解析
- 数据库系统设计大作业:图书馆管理系统
- 阿酷三合一版_阿酷插件下载|3dmax阿酷插件下载 v3.2 开源版 - 比克尔下载
- 斐讯K3官改,安装onmp教程,回馈社区。
- Echarts中国地图china.json
- 简单的贪吃蛇代码,可上机运行