前端 后端 MD5加盐
1,为何要加密?
明文在网络中传输,容易被黑客攻击,存在数据泄露危险
2,什么是md5加密?
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),32位
MD5算法无法防止碰撞,存在被暴力破解的风险,所以引入加盐处理
盐为自定义的一串随机数,如 tsydkd
加盐做法:按照一定的规则,将数据和盐进行组合,使用MD5算法加密组合后的数据
例如:加密组合公式
md5(数据+盐)
或者
md5(盐+数据+盐)
3,加密代码
3.1 前端加密
代码:
引入js插件
加盐加密
3.2 后端加密
代码:
直接使用工具类
引入包文件 import cn.hutool.crypto.SecureUtil;
以对sys表指定字段加密为例
sys表字段
`ID` bigint(20) unsigned NOT NULL,`NAME` varchar(128) NOT NULL COMMENT '名称',`CREATE_TIME` datetime NOT NULL COMMENT '创建时间',`CHECKSUM` varchar(64) DEFAULT NULL COMMENT '校验和',`SALT` varchar(16) DEFAULT NULL COMMENT '盐',
加密信息,校验结果存储:
SysEntity sysEntity=new SysEntity();sysEntity.setCreateTime(new Date());String checkdata = sysEntity.getName().toString() + sysEntity.getCreateTime();//加密的字段String salt = RandomUtil.randomString(6);//随机生成盐sysEntity.setSalt(salt);sysEntity.setChecksum(SecureUtil.md5(checkdata + salt));//校验和save(sysEntity);
校验数据是否被篡改
public void checkTenant(String id) {SysEntity sysEntity= sysDao.selectById(id);String checkdata = sysEntity.getName().toString() + sysEntity.getCreateTime();//加密的字段String checksum = SecureUtil.md5(checkdata + sysEntity.getSalt());if (!checksum.equals(sysEntity.getChecksum())) {throw new Exception("信息被篡改,请核对后再尝试!");}}
前端 后端 MD5加盐相关推荐
- SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计
加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...
- 密码MD5加盐加密----注册、校验、修改模块
思路: 单纯的MD5加密容易被碰撞破解,考虑将密码加上一个随机字符串(盐),再一同进行MD5加密,提高安全性. 此时,盐相当于另一半秘钥,需将盐一同存入数据库,用以验证. 实现过程: ...
- 对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密
RSA和AES结合使用 接上篇的RSA和AES算法加密之后,AES对称算法对数据量大的加密比较快,而RSA公私钥加密的话会影响加密效率,但是AES的加密与解密的密钥是一致的,导致密钥不能外泄,密钥在网 ...
- 一文读懂md5,md5有什么用,什么是md5加盐
md5是一种密码散列函数,在计算机安全领域得到广泛的应用.本文将带大家了解一些md5的知识点,什么是md5,md5有什么用,什么是md5加盐,为什么md5不可逆,为什么md5可能会被解密?帮助大家快速 ...
- md5加密,md5加盐加密和解密
package com.java.test;import java.security.MessageDigest; import java.security.SecureRandom; import ...
- 【甄选靶场】Vulnhub百个项目渗透——项目四十二:Moria1.1(MD5加盐爆破)
Vulnhub百个项目渗透 Vulnhub百个项目渗透--项目四十二:Moria1.1(MD5加盐爆破)
- Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理
前言 在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的.最经典的就是密码了.如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉,这样做是非常危险的. 那么我们就 ...
- MD5流程以及安全性分析,MD5加盐,MD6,笔记
版权归其所有论文作者所有. 并没写原始的地址,因为这是我整合的,作者太多,包括我.太匆忙,原作者可以联系我. 简介 MD5适用于数据完整性校验的.将任意长度的字节串(所以是基于底层的二进制串的),映射 ...
- MD5加盐加密工具类(可直接使用)
MD5加盐加密工具类 在我们做项目时,涉及到用户密码,而正常来说数据库中不会直接存储明文的密码,都是加密之后的密码. 密码加密的方式有很多,比如: ① 3DES.AES.DES:使用对称加密算法,可以 ...
- java md5加盐与解密_md5加密,md5加盐加密和解密
packagecom.java.test;importjava.security.MessageDigest;importjava.security.SecureRandom;importjava.u ...
最新文章
- 先来先服务调度算法(FCFS)
- 浙江科技学院计算机专业录取分数线,浙江科技学院2017年艺术类本科专业录取分数线...
- oracle和mysql查询_ORACLE 数据库 查询语句与DML语句
- iOS UIView的一些方法和属性(本博客侧重于视图布局部分的学习)
- Java机器学习库ML之三Sampling(采样)
- 深智云 让企业在物联网时代实现数据价值
- 第三届“信息论与编码”中大论坛诚邀您的参加
- 各种常用排序算法的时间复杂度和空间复杂度
- long 雪花算法_雪花算法(snowflake)
- 下行物理信道rs_这些CH结尾的LTE物理信道傻傻分不清楚?快来看这篇文章!
- pytorch图片数据归一化,通常传入transforms.Normalize(mean,std,inplace=False)中的mean和std是如何获取的?
- 宝塔linux跑tomcat,宝塔面板环境的安装(Linux、Tomcat、Node.js、Windows等环境)
- .NET银联支付开发(一):支付
- 熟悉matlab工作环境实验报告,MATLAB上机实验实验报告
- 怎么更新计算机显卡,电脑显卡怎么升级?电脑显卡升级的教程
- 6572 Phone call分析
- IOS开发-Nsstring中搜索方法rangeOfString
- 百度,dingding 安装在ubuntu1604
- pki与其他人交流时的 机密性 完整性 身份验证 的整个过程
- 最新抖音取图小程序源码-支持达人入驻和多端发布