Java加密与解密的艺术~MD算法实现
MD系列算法的实现是通过MessageDigest类来完成的,如果需要以流的处理方式完成消息摘要,则需要使用DigestInputStream和DigestOutputStream。
MD4
package org.zlex.chapter06_1_2;import java.security.MessageDigest;
import java.security.Security;import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.util.encoders.Hex;/*** MD4加密组件* * @author 梁栋* @version 1.0* @since 1.0*/
public abstract class MD4Coder {/*** MD4加密* * @param data* 待加密数据* @return byte[] 消息摘要* * @throws Exception*/public static byte[] encodeMD4(byte[] data) throws Exception {// 加入BouncyCastleProvider支持Security.addProvider(new BouncyCastleProvider());// 初始化MessageDigestMessageDigest md = MessageDigest.getInstance("MD4");// 执行消息摘要return md.digest(data);}/*** MD4加密* * @param data* 待加密数据* @return String 消息摘要* * @throws Exception*/public static String encodeMD4Hex(byte[] data) throws Exception {// 执行消息摘要byte[] b = encodeMD4(data);// 做十六进制编码处理return new String(Hex.encode(b));}
}
MD5
/*** 2009-9-3*/
package org.zlex.chapter06_1_3;import org.apache.commons.codec.digest.DigestUtils;/*** MD5加密组件* * @author 梁栋* @version 1.0* @since 1.0*/
public abstract class MD5Coder {/*** MD5加密* * @param data* 待加密数据* @return byte[] 消息摘要* * @throws Exception*/public static byte[] encodeMD5(String data) throws Exception {// 执行消息摘要return DigestUtils.md5(data);}/*** MD5加密* * @param data* 待加密数据* @return byte[] 消息摘要* * @throws Exception*/public static String encodeMD5Hex(String data) throws Exception {// 执行消息摘要return DigestUtils.md5Hex(data);}
}
Java加密与解密的艺术~MD算法实现相关推荐
- Java加密与解密的艺术~SHA算法实现
MesssageDigest类也支持SHA算法,主要包含SHA-1.SHA-256.SHA-384和SHA-512四种算法.通过第三方加密组件包Bouncy Castle,可支持SHA-224算法. ...
- Java加密与解密的艺术~SHA算法简介
SHA(Secure Hash Algorithm,安全散列算法)算法是在MD4算法的基础上演进而来的,通过SHA算法同样能够获得一个固定长度的摘要信息.与MD系列算法不同的是:若输入的消息不同则与其 ...
- 安卓逆向_25 --- 密码学 之 《Java加密与解密的艺术》
<Java加密与解密的艺术>中文 PDF版 :https://www.jb51.net/books/65048.html 1. 密码学应用 :https://www.bilibili.co ...
- Java加密与解密的艺术~AES-GCM-NoPadding实现
来源:Java AES加密和解密_一名可爱的技术搬运工-CSDN博客 高级加密标准 (AES,Rijndael)是一种分组密码加密和解密算法,是全球使用最广泛的加密算法. AES使用128.192或2 ...
- Java加密与解密的艺术~RSA实现
RSA 实现 /*** 2008-6-11*/ package org.zlex.chapter08_2;import java.security.Key; import java.security. ...
- Java加密与解密的艺术~数字证书~证书使用openssl
证书工具 /*** 2009-5-20*/ package org.zlex.chapter10_2;import java.io.FileInputStream; import java.secur ...
- Java加密与解密的艺术~数字证书~证书使用keytool
证书工具 /*** 2009-5-20*/ package org.zlex.chapter10_1;import java.io.FileInputStream; import java.secur ...
- Java加密与解密的艺术~数字证书~证书管理openssl
OpenSSL功能远胜于KeyTool,可用于根证书,服务器证书和客户证书的管理 这里使用的是Win32OpenSSL_Light-1_0_1e.exe http://www.slproweb.com ...
- Java加密与解密的艺术~DESede实现
DESede 实现 /*** 2009-10-5*/ package org.zlex.chapter07_2;import java.security.Key;import javax.crypto ...
最新文章
- lodop打印无内容_民法典新确立的打印遗嘱应如何订立能有效?| 附文书范本
- AI大师张钹领衔,清华AI研究院推出知识计算开放平台
- 那些不能错过的Xcode插件
- springboot和kafka集成
- 【正一专栏】欧冠四强猜想—不是冤家不聚首
- 音视频技术开发周刊 | 197
- I.Mx6 使用串口连接PSAM卡的注意事项
- redis☞ python客户端
- thymeleaf 使用页面报错_SpringBoot 使用thymeleaf 跳转页面时,总是提示404找不到页面...
- 谷歌推出 Kotlin 免费在线课程
- 中心对称又是轴对称的图形_2020广东省考行测备考:图形推理之对称知多少
- 闭包与setTimeout
- IIS导入SSL证书
- 服务器主板电源适配器维修,自己修理笔记本电脑电源适配器
- 【产品设计-小程序】小胖工具箱系列—汇率换算
- 计算机的基本组成和工作原理
- 通过wvdial完成4G自动拨号上网
- linux 桌面环境推荐,8种最佳的Ubuntu桌面环境(18.04 Bionic Beaver Linux)
- 服务器双路供电原理,双路电源上电顺序控制电路原理图
- 【新手向】centOS 7 linux虚拟机联网具体步骤
热门文章
- 技术动态 | 知识图谱构建的研究已走入下半场,但大规模落地应用仍需时间
- 论文浅尝 - ICLR2020 | 通过神经逻辑归纳学习有效地解释
- 论文浅尝 | 时序与因果关系联合推理
- 最全的Pycharm debug技巧
- 如何解决NLP分类任务的11个关键问题:类别不平衡低耗时计算小样本鲁棒性测试检验长文本分类 JayLou娄杰
- 常识知识在AI不同领域应用的最新研究进展
- 第一节《Git初始化》
- SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
- 操作系统学习笔记-2.1.5线程概念和多线程模型
- linux的基础知识——模型结构和数据包的封装