Java加密与解密的艺术~MD算法实现
生活随笔
收集整理的這篇文章主要介紹了
Java加密与解密的艺术~MD算法实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
????????MD系列算法的實現(xiàn)是通過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* 待加密數(shù)據(jù)* @return byte[] 消息摘要* * @throws Exception*/public static byte[] encodeMD4(byte[] data) throws Exception {// 加入BouncyCastleProvider支持Security.addProvider(new BouncyCastleProvider());// 初始化MessageDigestMessageDigest md = MessageDigest.getInstance("MD4");// 執(zhí)行消息摘要return md.digest(data);}/*** MD4加密* * @param data* 待加密數(shù)據(jù)* @return String 消息摘要* * @throws Exception*/public static String encodeMD4Hex(byte[] data) throws Exception {// 執(zhí)行消息摘要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* 待加密數(shù)據(jù)* @return byte[] 消息摘要* * @throws Exception*/public static byte[] encodeMD5(String data) throws Exception {// 執(zhí)行消息摘要return DigestUtils.md5(data);}/*** MD5加密* * @param data* 待加密數(shù)據(jù)* @return byte[] 消息摘要* * @throws Exception*/public static String encodeMD5Hex(String data) throws Exception {// 執(zhí)行消息摘要return DigestUtils.md5Hex(data);} }總結(jié)
以上是生活随笔為你收集整理的Java加密与解密的艺术~MD算法实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Guava入门~MoreObjects
- 下一篇: 可输入过滤和直接选择的select控件