数据库中存储了各种各样的数据,但涉及与密码相关的数据存储时,往往需要加密。 mysql数据库有自己的加密函数。 基于单向加密和双向加密介绍mysql的加密函数。
在介绍加密函数之前,首先要知道要存储加密数据的数据类型------BLOB。 BLOB是存储不同尺寸的数据的二进制大对象,根据存储数据的能力的大小,通常为TinyBlob (最大255 )、BLOB (最大65K )、MediumBlob (最大16M )、MediumBlob (最大16M )
单向加密(实质上是对用户密码的散列化,本质上不视为加密。 但是,虽然利用散列的单向性,可以从明文到密文,但是从密文到明文是看不到的。 )
首先,创建student表作为测试样例表。 创建表的语句如下。
1.MD5加密
语法: MD5 )“密码”
在student中插入数据。 句子如下。
成功后,一看表的内容,就知道刚才插入的数据密码是我们看不懂的字符串。 下图:
2 .密码加密
语法: PASSWORD(‘“密码”)
在student中插入数据。 句子如下。
成功后,再次查看表中的内容,可以看到刚才插入的数据密码已经是一系列的字符串。 下图:
双向加密(双向加密是指将明文转换为密文并存储在数据库中,密文也可以通过正确的解密方法看到明文)。
加密语法: ENCODE(‘(“密码”、“任何字符”)
在student中插入数据。 句子如下。
成功后,通过键入显示student表的命令,可以看到使用ENCODE加密创建的密文比使用MD5和PASSWORD加密创建的密文更复杂、更短,如下图所示。
解密语法: DECODE(‘ (“密码”、“任何字符”)注意:解密中的任何字符必须与加密时使用的任何字符相同。 看明文的句子如下。
可以看出明文被正确解密了。 结果如下图所示。
实际上,mysql搭载的加密函数不止这三种。 掌握几个常用的东西就好了。
如果你想知道更多,可以在评论区留言。
kldcb博客
链接: https://blog.csdn.net/weixin _ 43433032/article/details/95962119