Shiro信息加密及简单demo3

您所在的位置:网站首页 shiro加密盐 Shiro信息加密及简单demo3

Shiro信息加密及简单demo3

2023-03-04 14:05| 来源: 网络整理| 查看: 265

Shiro加密了解及demo3演示

解锁:数据加密MD5、加salt、进行hash散列

一、了解MYSQL加密算法

mysql的加密算法:

1.不可逆加密算法:

password ()、md5 ()、encrypt ()、sha5 () 在这里插入图片描述在这里插入图片描述

2.可逆加密算法:

encode(,)、decode(,):加密解密字符串。函数有两个参数:被加密或解密的字符串、作为加密或解密基础的密钥。 encode结果是一个二进制字符串,以BLOB类型存储,加密程度比较弱。 —————————————————— aes_encrypt(,)、aes_decrypt(,):加密解密字符串。函数有两个参数:被加密或解密的字符串、作为加密或解密基础的密钥。encode结果是一个二进制字符串,以BLOB类型存储。

加密完成之后可以用to_base64()转成可见字符,然后解密时候用from_base64()转回来.

二、MD5和salt简介和执行流程 2.1 MD5简单介绍

MD5是哈希散列算法,对于MD5而言,有两个特性是很重要的. 第一:明文数据经过散列以后的值是定长的(就是1234经过加密之后, 他的散列之后字符串会变长); 第二:是任意一段明文数据,经过散列以后,其结果必须永远是不变的。 前者的意思是可能存在有两段明文散列以后得到相同的结果。 后者的意思是如果我们散列特定的数据,得到的结果定是相同的。

2.2 salt简单介绍

在家做饭有佐料,在加密领域也有所谓的佐料,只是这是这里的佐料可不是为了味道好,而是为了保护对象的机密性。 往上面撒一些盐,可以有效的解决这个问题,即使用salt加密,它的基本想法是这样的: 1.用户注册时,在密码上撒一些盐。生成一种味道,记住味道。 2.用户再次登陆时,系统在输入的密码上撒盐,闻- -闻,判断是否和原来的味道相同,相同就让你吃饭。 由于验证密码时和最初散列密码时使用相同的盐值,所以salt的存储在数据库。并且这个值是由系统随机产生的,而非硬编码。这就保证了所要保护对象的机密性。

❤❤❤❤❤ 以下是图解(图借鉴): 在这里插入图片描述 注册时: 1.用户注册,系统随机产生salt值。 2.将salt值和密码连接起来,生产Hash值。 3.将Hash值和salt值分别存储在数据库中。

在这里插入图片描述 登录时: 1.系统根据用户名找到与之对应的密码Hash。 2.将用户输入密码和salt值进行散列。 3.判断生成的Hash值是否和数据库中Hash相同。

2.3 具体的MD5+salt的具体实现流程

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3