package com.dream.util; import java.security.MessageDigest; import java.security.Security; import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.digest.DigestUtils; import org.bouncycastle.crypto.Digest; import org.bouncycastle.crypto.digests.MD4Digest; import org.bouncycastle.crypto.digests.MD5Digest; import org.bouncycastle.jce.provider.BouncyCastleProvider; import junit.framework.TestCase; /** * @author zxg * @see MD加 消息摘要算法 MD2,MD4 128位摘要信息 */ public class MDTest extends TestCase { public static String str = "zxg is a boy"; /** * jdk MD5 */ public void testJdkMD5() throws Exception { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] md5bytes = md.digest(str.getBytes()); System.out.println(Hex.encodeHexString(md5bytes)); } /** * jdk MD2 */ public void testJdkMD2() throws Exception { MessageDigest md = MessageDigest.getInstance("MD2"); byte[] md2bytes = md.digest(str.getBytes()); System.out.println(Hex.encodeHexString(md2bytes)); } /** * jdk MD4 */ public void testbcMD4() throws Exception { Digest digest = new MD4Digest(); digest.update(str.getBytes(), 0, str.getBytes().length); byte[] md4Bytes = new byte[digest.getDigestSize()]; digest.doFinal(md4Bytes, 0); System.out.println(org.bouncycastle.util.encoders.Hex .toHexString(md4Bytes)); } /** * bc MD5 */ public void testbcMD5() throws Exception { Digest digest = new MD5Digest(); digest.update(str.getBytes(), 0, str.getBytes().length); byte[] md5Bytes = new byte[digest.getDigestSize()]; digest.doFinal(md5Bytes, 0);// 获取字节从0开始取 System.out.println(org.bouncycastle.util.encoders.Hex .toHexString(md5Bytes)); } /** * bc MD4 2 */ public void testbcMD42() throws Exception { Security.addProvider(new BouncyCastleProvider()); MessageDigest md = MessageDigest.getInstance("MD4"); byte[] md4Bytes = md.digest(str.getBytes()); System.out.println(Hex.encodeHexString(md4Bytes)); } /** * apache MD5 */ public void testccMD5() throws Exception { System.out.println(DigestUtils.md5Hex(str.getBytes())); } /** * apache MD4 */ public void testccMD4() throws Exception { System.out.println(DigestUtils.md2Hex(str.getBytes())); } }
md 散列算法
猜你喜欢
转载自zhizhi555555.iteye.com/blog/2222704
今日推荐
周排行