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加盐相关推荐

  1. SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计

    加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...

  2. 密码MD5加盐加密----注册、校验、修改模块

    思路:     单纯的MD5加密容易被碰撞破解,考虑将密码加上一个随机字符串(盐),再一同进行MD5加密,提高安全性. 此时,盐相当于另一半秘钥,需将盐一同存入数据库,用以验证. 实现过程:      ...

  3. 对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密

    RSA和AES结合使用 接上篇的RSA和AES算法加密之后,AES对称算法对数据量大的加密比较快,而RSA公私钥加密的话会影响加密效率,但是AES的加密与解密的密钥是一致的,导致密钥不能外泄,密钥在网 ...

  4. 一文读懂md5,md5有什么用,什么是md5加盐

    md5是一种密码散列函数,在计算机安全领域得到广泛的应用.本文将带大家了解一些md5的知识点,什么是md5,md5有什么用,什么是md5加盐,为什么md5不可逆,为什么md5可能会被解密?帮助大家快速 ...

  5. md5加密,md5加盐加密和解密

    package com.java.test;import java.security.MessageDigest; import java.security.SecureRandom; import ...

  6. 【甄选靶场】Vulnhub百个项目渗透——项目四十二:Moria1.1(MD5加盐爆破)

    Vulnhub百个项目渗透 Vulnhub百个项目渗透--项目四十二:Moria1.1(MD5加盐爆破)

  7. Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

    前言 在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的.最经典的就是密码了.如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉,这样做是非常危险的. 那么我们就 ...

  8. MD5流程以及安全性分析,MD5加盐,MD6,笔记

    版权归其所有论文作者所有. 并没写原始的地址,因为这是我整合的,作者太多,包括我.太匆忙,原作者可以联系我. 简介 MD5适用于数据完整性校验的.将任意长度的字节串(所以是基于底层的二进制串的),映射 ...

  9. MD5加盐加密工具类(可直接使用)

    MD5加盐加密工具类 在我们做项目时,涉及到用户密码,而正常来说数据库中不会直接存储明文的密码,都是加密之后的密码. 密码加密的方式有很多,比如: ① 3DES.AES.DES:使用对称加密算法,可以 ...

  10. java md5加盐与解密_md5加密,md5加盐加密和解密

    packagecom.java.test;importjava.security.MessageDigest;importjava.security.SecureRandom;importjava.u ...

最新文章

  1. 先来先服务调度算法(FCFS)
  2. 浙江科技学院计算机专业录取分数线,浙江科技学院2017年艺术类本科专业录取分数线...
  3. oracle和mysql查询_ORACLE 数据库 查询语句与DML语句
  4. iOS UIView的一些方法和属性(本博客侧重于视图布局部分的学习)
  5. Java机器学习库ML之三Sampling(采样)
  6. 深智云 让企业在物联网时代实现数据价值
  7. 第三届“信息论与编码”中大论坛诚邀您的参加
  8. 各种常用排序算法的时间复杂度和空间复杂度
  9. long 雪花算法_雪花算法(snowflake)
  10. 下行物理信道rs_这些CH结尾的LTE物理信道傻傻分不清楚?快来看这篇文章!
  11. pytorch图片数据归一化,通常传入transforms.Normalize(mean,std,inplace=False)中的mean和std是如何获取的?
  12. 宝塔linux跑tomcat,宝塔面板环境的安装(Linux、Tomcat、Node.js、Windows等环境)
  13. .NET银联支付开发(一):支付
  14. 熟悉matlab工作环境实验报告,MATLAB上机实验实验报告
  15. 怎么更新计算机显卡,电脑显卡怎么升级?电脑显卡升级的教程
  16. 6572 Phone call分析
  17. IOS开发-Nsstring中搜索方法rangeOfString
  18. 百度,dingding 安装在ubuntu1604
  19. pki与其他人交流时的 机密性 完整性 身份验证 的整个过程
  20. 最新抖音取图小程序源码-支持达人入驻和多端发布

热门文章

  1. rss客户端reeder(iphone)使用技巧
  2. 实用的文字转语音免费软件推荐
  3. Scrapy框架爬取豆瓣电影top250信息
  4. android 蓝牙与单片机通信原理图,单片机结合蓝牙模块串口通信
  5. 利用全能电子地图下载器+GeoWebCache发布Arcgis Server缓存瓦片过程全记录
  6. 完美数及寻找完美数的算法(Perfect number‘s algorithm)
  7. plc编程技术发展历程
  8. Docker 安装教程
  9. 【状压DP】状态压缩动态规划入门超详解
  10. 类似京东商城筛选模块