首先的导入jar包,commons-codec.jar,可以使用maven,或者去maven官网下载jar
https://mvnrepository.com/artifact/commons-codec/commons-codec/1.12
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
- MD5加密
MD5(消息摘要算法加密是一种不可逆的加密算法,安全性很高,在网络上有一些网站提供MD5破解,他们的原理都是撞库。好了 闲话有点多 开始吧
java中使用MD5加密可以使用官方自带的,当然,这里不用,我们用apache下的commons-codec.jar
DigestUtils.md5Hex这个方法可以传入三种类型的参数,便于不同场景使用,
-
字符串
传入字符串后会返回加密后的32位16进制的字符串
-
byte数组
传入byte数组后也会返回加密后的32位16进制的字符串
-
输入流
同上,
package encoding;
import org.apache.commons.codec.digest.DigestUtils;
public class MD5Encrypt {
public static void main(String[] args) {
String encoding = encoding("我爱你");
System.out.println(encoding);
}
/**
*
* @param data 传入要加密的数据 可以传入byte数组、字符串、还有输入流,看自己的意愿(md5Hex这个方法)
* @return
*/
public static String encoding(String data) {
String getEncoding = DigestUtils.md5Hex(data);
return getEncoding;
}
}
运行的结果是
4f2016c6b934d55bd7120e5d0e62cce3
关于MD5的就讲到这个,有兴趣的还可以使用官方的试试。
-
SHA256加密
使用SHA256加密和MD5加密的步骤差不多,这个也是不可逆的加密
package encoding; import org.apache.commons.codec.digest.DigestUtils; public class MD5Encrypt { public static void main(String[] args) { String encoding = SHA256encoding("我爱你"); System.out.println(encoding); } /** * * @param data 传入要加密的数据 可以传入byte数组、字符串、还有输入流,看自己的意愿(sha256Hex这个方法) * @return */ public static String SHA256encoding(String data) { String getEncoding = DigestUtils.sha256Hex(data); return getEncoding; } }
运行结果是
c0ad5411b19cfcba9d674d21411a970159f6ae4e180831ddd6a91797be547752
剩下的Base64加密以后再加吧,以后会出一个用官方自带的,省的下jar包。