搜索时发现sha512加密(加盐)的内容很少 所以过来添一块砖
文章目录
写在前面
简单唠一会,别烦嗷!
遇见新的事物我们不妨先来认识一下它。它是什么,能做什么,如何实现,学习起来才能事半功倍。
一、理解一下SHA512加盐
是什么?
sha512是密码加密的一种方式,加盐是为了多一层安全保障。密码加盐通俗点来讲就是在密码后面随机加上一个值(这个值随心所欲,可以是固定值、随机数、uuid……)。这个值就是盐(salt),加值的过程就叫加盐。能干什么?
加密也好加盐也罢都是为了安全。如何实现?
org.apache.commons.codec.digest.DigestUtils这个类里集成了多种加密方法其中也包含了本文的主角——sha512,在自己的项目中封装成工具类简直不要太好用!
二、前端项目实现SHA512加密
实现功能前梳理一下自己的实现思路,个人觉得是极好的!!!
前端对明文密码加密的过程是比较简单的
实现步骤:
- 前端页面中引入js工具类
- 使用CryptoJS.SHA512() 方法进行加密
1.前端页面中引入js工具类
//npm安装环境
npm install crypto-js
Tips:这里既可以终端手动输入命令,也可以鼠标悬浮自动导入的哈
//在需要使用加密方法的页面中引入CryptoJS
import CryptoJS from "crypto-js"
2.调用CryptoJS.SHA512()方法进行加密
const Sha512Password = CryptoJS.SHA512(this.password)
这样传给服务端的密码就是sha512加密过的密文啦,具体如何使用还要结合自己的实际项目。
三、后端项目实现SHA512加密加盐
实现步骤:
- 创建工具类
- 项目中调用加密方法
- 加密数据入库,完毕。
1.创建加密工具类SHA512Utils.java
代码如下(示例):
项目中util包SHA512Utils.java文件下 Tips:
代码中有注释可以参考辅读
package com.pay.util;
import org.apache.commons.codec.digest.DigestUtils;
import java.util.UUID;
public class SHA512Utils {