mySql的加密算法

本文介绍了MySQL中的数据加密方法,包括双向加密的ENCODE()和DECODE()函数,以及单向加密的MD5()和ENCRYPT()函数。双向加密允许数据解密,而单向加密则不可逆。在验证用户登录时,通常使用单向加密的MD5校验码或ENCRYPT()函数确保密码安全。
摘要由CSDN通过智能技术生成

1、双向加密

就让我们从最简单的加密开始:双向加密。在这里,一段数据通过一个密钥被加密,只能够由知道这个密钥的人来解密。MySQL有两个函数来支持这种类型的加密,分别叫做ENCODE()和DECODE()。下面是一个简单的实例:

 

mysql> INSERT INTO users (username, password) VALUES ('joe', ENCODE('guessme', 'abracadabra')); Query OK, 1 row affected (0.14 sec)

其中,Joe的密码是guessme,它通过密钥abracadabra被加密。要注意的是,加密完的结果是一个二进制字符串,如下所示:

 

mysql> SELECT * FROM users WHERE username='joe'; +----------+----------+ | username | password | +----------+----------+ | joe | ¡?i??!? | +----------+----------+ 1 row in set (0.02 sec)

abracadabra这个密钥对于恢复到原始的字符串至关重要。这个密钥必须被传递给DECODE()函数,以获得原始的、未加密的密码。下面就是它的使用方法:

 

mysql> SELECT DECODE(password, 'abracadabra') FROM users WHERE username='joe'; +---------------------------------+ | DECODE(password, 'abracad
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值