mysql加密解密函数

发布时间: 2023-11-21 11:38 阅读: 文章来源:1MUMB2057PS

数据是信息系统中最核心的资产,数据的丢失、破坏或泄漏,很可能会带来难以估量的损失。对敏感数据进行加密是数据安全防护中最核心的手段之一。数据库加密能够显著提升数据库的安全性。加密后,数据以密文的方式存储,防止了数据直接暴露,同时增强对加密数据的访问控制,大大降低了数据被泄漏和恶意破坏的风险。

MySQL中的数据加密解密用法。主要包括PASSWORD()、MD5()、ENCODE()、DECODE()。

【PASSWORD】

PASSWORD(str)将字符串加密为长字符串,并且对被加密的字符串区分大小写。PASSWORD函数加密后是不可逆的,即不能从解密结果通过算法返回被加密的字符。

不可逆加密在实际中的一个应用,电商平台的用户名和密码需要存在数据库里面,但是平台不能够存用户明文密码。就需要把用户的密码进行不可逆加密后进行存储,然后每次用户登录输入的密码明文转换成密文进行比对,相同才能够登录。这样既能保证用户密码不被平台保存,也可以进行密码唯一性校验登录。

select name,PASSWORD(name) FROMtest

【MD5】

MD5加密算法和PASSWORD加密函数雷同,只是MD5的加密算法是公开的,很容易被别人破译,所以其是可逆的并且安全性不高。

select name,MD5(name) FROMtest

【ENCODE】

ENCODE加密函数是需要密钥的,加密的结果输出的是一些看似乱码的符号,可以通过密钥进行解密。

select name,ENCODE(name,"wfl")FROMtest

【DECODE】

DECODE和ENCODE是一套,对ENCODE加密的数据进行解密。

select*,DECODE(miwen,111) 错误解密码,DECODE(miwen,"wfl") 正确解密FROM(select name,ENCODE(name,"wfl") as miwenFROMtest) b

•••展开全文