引导型网站设计,做项目网站,大数据查询个人信息,中交路桥建设有限公司电话MD系列算法的实现是通过MessageDigest类来完成的#xff0c;如果需要以流的处理方式完成消息摘要#xff0c;则需要使用DigestInputStream和DigestOutputStream。 MD4
package org.zlex.chapter06_1_2;import java.security.MessageDigest;
import java.security.Security;i… 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);}
}