一、引入Maven依賴
<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.15</version> </dependency>
二、常用API說明
import java.security.MessageDigest; import org.apache.commons.codec.CharEncoding; import org.apache.commons.codec.digest.DigestUtils; /** * Codec 處理常用的編碼方法的工具類包 例如DES、SHA1、MD5、Base64等 * 常用類 * ① CharEncoding 編碼,其實目前也是用java.nio.charset.StandardCharsets代替 * ② DigestUtils 加密工具類 * */ public class CodecDemo { private static void testDigestUtils(){ try { // MD5加密,返回16位字符串 // 控制台亂碼, 不清楚是啥原因 System.out.println(new String(DigestUtils.md5("123456"))); // MD5加密,返回32位字符串 System.out.println(DigestUtils.md5Hex("123456")); // SHA-1加密 System.out.println(new String(DigestUtils.sha1("123456"))); System.out.println(DigestUtils.sha1Hex("123456")); // SHA-256加密 System.out.println(new String(DigestUtils.sha256("123456"))); System.out.println(DigestUtils.sha256Hex("123456")); // SHA-512加密 System.out.println(new String(DigestUtils.sha512("123456"))); System.out.println(DigestUtils.sha512Hex("123456")); //MD5表示加密算法,可以選擇其他參數,如SHA-1等 MessageDigest digest = MessageDigest.getInstance("MD5"); //先調用update,再調動digest digest.update(org.apache.commons.codec.binary.StringUtils.getBytesUtf8("123456")); byte[] byteResult = digest.digest(); System.out.println(new String(byteResult)); }catch (Exception e){ System.out.println(" DigestUtils Error"); e.printStackTrace(); } } private static void testCharEncoding(){ // 可以用java.nio.charset.StandardCharsets替換org.apache.commons.codec.CharEncoding System.out.println(CharEncoding.UTF_8); } public static void main(String[] args) { //CodecDemo.testCharEncoding(); CodecDemo.testDigestUtils(); } }