所在的位置: mysql >> mysql发展 >> MySQL加密解密函数

MySQL加密解密函数

白癜风治疗医院 http://disease.39.net/bjzkbdfyy/171015/5762961.html

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

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

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

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

SELECT

name,

PASSWORD(name)

FROM

test

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

SELECT

name,

MD5(name)

FROM

test

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

SELECT

name,

ENCODE(name,"wfl")

FROM

test

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

SELECT

*,

DECODE(miwen,)错误解密码,

DECODE(miwen,"wfl")正确解密

FROM

(SELECT

name,

ENCODE(name,"wfl")asmiwen

FROM

test)b




转载请注明:http://www.aierlanlan.com/tzrz/5464.html