1、新建maven工程,修改pom.xml文件
<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.14</version> </dependency>这里用到的是最新的加密包,commons-codec-1.14.jar
2、新建类 SecurityUtil.java
import org.apache.commons.codec.digest.DigestUtils; public class SecurityUtil { public String md5Encode(byte [] input){ return DigestUtils.md5Hex(input); } public String sha256Encode(byte[] input){ return DigestUtils.sha256Hex(input); } }3、编写测试类
public static void main(String[] args) { testMd5(); testSha256(); } public static void testMd5() { SecurityUtil securityUtil = new SecurityUtil(); String str = "hello"; str = securityUtil.md5Encode(str.getBytes()); System.out.println(str); } public static void testSha256() { SecurityUtil securityUtil = new SecurityUtil(); String str = "hello"; str = securityUtil.sha256Encode(str.getBytes()); System.out.println(str); }结论: 1、md5加密为:5d41402abc4b2a76b9719d911017c592 sha256加密为:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 可以看出sha256的加密会复杂点,同样的系统开销会多。
2、md5、sha256加密不可逆,也就是加密后不能再根据加密的秘钥去解密,网上MD5解密实际上是暴力破解。如果需要可逆的话,请选择DES、AES、异或、凯撒、RSA等。