900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Java加密与解密的艺术~MD算法实现

Java加密与解密的艺术~MD算法实现

时间:2020-10-19 04:50:35

相关推荐

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

/*** -9-3*/package org.zlex.chapter06_1_3;import mons.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);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。