这里用到java项目实现
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等。