因为md5是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。因此校验可以比较加密之后的密文是否相同。
加密工具类(js):
https://pan.baidu.com/s/1Nk2HN1-DThPdTZeXKDxNoA
提取码: gaa5
使用案例
......
<form id="postForm" autocomplete="off" method="post" th:object="${credential}" onsubmit="return verify()">
......
</form>
......
<script th:src="@{/js/crypto-js.js}"></script>
<script type="text/javascript">
function verify() {
var password= $("#password").val();
var md5Password=CryptoJS.MD5(password).toString();
$('#password').val(md5Password);
document.getElementById('postForm').submit();
}
</script>
......
DigestUtils 是 Apache Commons Codec 库中的一个类,它提供了一组用于生成消息摘要(hash)的实用方法。这个库广泛用于处理编码和解码,而 DigestUtils 主要用于处理消息摘要的生成。
以下是 DigestUtils 的一些常见用法:
生成 MD5 摘要:
import org.apache.commons.codec.digest.DigestUtils;
String input = "Hello, World!";
String md5Digest = DigestUtils.md5Hex(input);
生成 SHA-1 摘要:
import org.apache.commons.codec.digest.DigestUtils;
String input = "Hello, World!";
String sha1Digest = DigestUtils.sha1Hex(input);
生成 SHA-256 摘要:
import org.apache.commons.codec.digest.DigestUtils;
String input = "Hello, World!";
String sha256Digest = DigestUtils.sha256Hex(input);
使用流生成摘要:
import org.apache.commons.codec.digest.DigestUtils;
InputStream inputStream = // obtain your input stream
String md5Digest = DigestUtils.md5Hex(inputStream);
这些方法返回以十六进制表示的消息摘要,通常以字符串的形式呈现。DigestUtils 支持 MD2、MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 等算法。
确保你的项目包含 Apache Commons Codec 库的依赖,以便使用 DigestUtils 类。例如,Maven 项目可以在 pom.xml 文件中添加以下依赖:
引入依赖
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version> <!-- 使用最新版本 -->
</dependency>
拓展:
Java 加解密工具类:https://blog.csdn.net/qq_34253002/article/details/131491945
RSA密钥生成与使用:
https://tool.4xseo.com/a/4646.html
Java RSA 加密解密工具类 RSAUtil 支持长文本加密解密(密钥对生成、公钥加密、私钥加密、公钥解密、私钥解密):
https://blog.csdn.net/m0_53022813/article/details/134002547