java基础/数据加解密(Mooc)

常用摘要算法:

java基础/数据加解密(Mooc) 

以下 (HEX)内容:bc指Bouncy Castle  |  cc指:Apache commons Codec

1。消息摘要算法MD5及MD族(MD2,MD4) 

java基础/数据加解密(Mooc)

消息摘要算法应用:

java基础/数据加解密(Mooc)

MD算法实现:

package com.imooc.security.md;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
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.MD5Digest;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

public class ImoocMD {
    
    private static String src = "imooc security md";

    public static void main(String[] args) {
         jdkMD5();
         jdkMD2();
         bcMD4();
         bcMD5();
         ccMD5();
         ccMD2();
    }
    
    public static void jdkMD5() {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] md5Bytes = md.digest(src.getBytes());
            System.out.println("JDK MD5 : " + Hex.encodeHexString(md5Bytes));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
    
    public static void jdkMD2() {
        try {
            MessageDigest md = MessageDigest.getInstance("MD2");
            byte[] md2Bytes = md.digest(src.getBytes());
            System.out.println("JDK MD2 : " + Hex.encodeHexString(md2Bytes));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
    
    public static void bcMD5() {
        Digest digest = new MD5Digest();
        digest.update(src.getBytes(), 0, src.getBytes().length);
        byte[] md5Bytes = new byte[digest.getDigestSize()];
        digest.doFinal(md5Bytes, 0);
        System.out.println("BC MD5 : " + org.bouncycastle.util.encoders.Hex.toHexString(md5Bytes));
    }
    
    public static void bcMD4() {
        try {
            Security.addProvider(new BouncyCastleProvider());
            MessageDigest md = MessageDigest.getInstance("MD4");
            byte[] md5Bytes = md.digest(src.getBytes());
            System.out.println("BC MD4 : " + Hex.encodeHexString(md5Bytes));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
    
    public static void ccMD5() {
        System.out.println("CC MD5 : " + DigestUtils.md5Hex(src.getBytes()));
    }
    
    public static void ccMD2() {
        System.out.println("CC MD2 : " + DigestUtils.md2Hex(src.getBytes()));
    }

}
View Code

相关文章:

  • 2021-06-27
  • 2022-01-20
  • 2021-12-20
  • 2021-11-16
  • 2021-04-19
  • 2021-06-19
  • 2022-01-11
猜你喜欢
  • 2021-07-27
  • 2021-06-05
  • 2021-06-12
  • 2021-09-22
  • 2021-12-12
  • 2021-07-31
相关资源
相似解决方案