本文提供了基于MD5加密16位和32位的方法,具体内容如下
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
* <p>标题:编码工具类</p>
* <p>功能:对数据进行编码转换</p>
* 作者:赵力
*/
public class EncodeUtil
{
public static void main(String[] args) throws Exception
{
System.out.println(md5Encrypt16("需要进行MD5加密的字符串"));
}
/**
* MD5加密16位
* @param encryptStr 要加密数据
* @return 返回16位加密结果
* ZhaoLi
*/
public static String md5Encrypt16(String encryptStr)
{
return md5Encrypt32(encryptStr).substring(8, 24);
}
/**
* MD5加密32位
* @param encryptStr 要加密数据
* @return 32位加密结果
* ZhaoLi
*/
public static String md5Encrypt32(String encryptStr)
{
MessageDigest md5;
try
{
md5 = MessageDigest.getInstance("MD5");
byte[] md5Bytes = md5.digest(encryptStr.getBytes());
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++)
{
int val = (md5Bytes[i]) & 0xff;
if (val < 16)
{
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString().toLowerCase();
} catch (Exception e)
{
throw new RuntimeException(e);
}
}
/**
* 结合base64实现md5加密
* @param msg 待加密字符串
* @return 获取md5后转为base64
* @throws Exception
*/
public static String md5EncryptBase64(String msg) throws Exception
{
return msg == null ? null : base64Encode(md5(msg));
}
/**
* 将byte[]转为各种进制的字符串
* @param bytes byte[]
* @param radix 可以转换进制的范围,从Character.MIN_RADIX到Character.MAX_RADIX,超出范围后变为10进制
* @return 转换后的字符串
*/
public static String binary(byte[] bytes, int radix)
{
return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数
}
/**
* base 64 encode
* @param bytes 待编码的byte[]
* @return 编码后的base 64 code
*/
public static String base64Encode(byte[] bytes)
{
return new BASE64Encoder().encode(bytes);
}
/**
* base 64 decode
* @param base64Code 待解码的base 64 code
* @return 解码后的byte[]
* @throws Exception
*/
public static byte[] base64Decode(String base64Code)
{
try
{
return base64Code == null ? null : new BASE64Decoder().decodeBuffer(base64Code);
} catch (IOException e)
{
throw new RuntimeException("报错内容", e);
}
}
/**
* 获取byte[]的md5值
* @param bytes byte[]
* @return md5
* @throws Exception
*/
public static byte[] md5(byte[] bytes)
{
MessageDigest md;
try
{
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e)
{
throw new RuntimeException("报错内容", e);
}
md.update(bytes);
return md.digest();
}
/**
* 获取字符串md5值
* @param msg
* @return md5
* @throws Exception
*/
public static byte[] md5(String msg)
{
return msg == null ? null : md5(msg.getBytes());
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Java
# MD5
# 加密
# java常用工具类之DES和Base64加密解密类
# Java实现图片与Base64编码互转
# Java实现BASE64编码和解码的方法
# 基于Java实现的Base64加密、解密原理代码
# JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
# java BASE64Encoder详细介绍及简单实例
# java实现Base64加密解密算法
# Java 8实现图片BASE64编解码
# java 后台将base64字符串保存为图片的方法
# java自定义实现base64编码转换
# Java RSA加密解密实现方法分析【附BASE64 jar包下载】
# Java实现的Base64加密算法示例
# 报错
# 具体内容
# 大家多多
# String
# main
# Exception
# throws
# args
# public
# 赵力
# EncodeUtil
# void
# static
# System
# ZhaoLi
# substring
# println
# param
# return
# encryptStr
相关文章:
如何在腾讯云免费申请建站?
建站之星会员如何解锁更多建站功能?
h5网站制作工具有哪些,h5页面制作工具有哪些?
小程序网站制作需要准备什么资料,如何制作小程序?
如何在万网ECS上快速搭建专属网站?
如何做网站制作流程,*游戏网站怎么搭建?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
中山网站制作网页,中山新生登记系统登记流程?
如何在建站之星网店版论坛获取技术支持?
建站之星官网登录失败?如何快速解决?
建站之星好吗?新手能否轻松上手建站?
如何快速搭建个人网站并优化SEO?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
,网页ppt怎么弄成自己的ppt?
香港服务器如何优化才能显著提升网站加载速度?
如何在阿里云虚拟服务器快速搭建网站?
网页设计与网站制作内容,怎样注册网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
已有域名和空间如何快速搭建网站?
建站之星如何通过成品分离优化网站效率?
如何通过可视化优化提升建站效果?
建站之星伪静态规则如何设置?
如何批量查询域名的建站时间记录?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
官网建站费用明细查询_企业建站套餐价格及收费标准指南
建站之星如何实现网站加密操作?
建站主机选哪家性价比最高?
,购物网站怎么盈利呢?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
php json中文编码为null的解决办法
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何在宝塔面板中修改默认建站目录?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何访问已购建站主机并解决登录问题?
如何彻底卸载建站之星软件?
宿州网站制作公司兴策,安徽省低保查询网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
定制建站如何定义?其核心优势是什么?
ui设计制作网站有哪些,手机UI设计网址吗?
Python如何创建带属性的XML节点
安徽网站建设与外贸建站服务专业定制方案
如何登录建站主机?访问步骤全解析
如何用花生壳三步快速搭建专属网站?
公司门户网站制作流程,华为官网怎么做?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何制作算命网站,怎么注册算命网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
c# await 一个已经完成的Task会发生什么
*请认真填写需求信息,我们会在24小时内与您取得联系。