如何利用MySQL加密函数保护网站敏感数据

如何利用MySQL加密函数保护网站敏感数据,第1张

如何利用MySQL加密函数保护网站敏感数据,第2张

如果您使用MySQL运行Web应用程序,它很可能会在应用程序中保存密码或其他敏感信息。保护这些数据免受黑客或窥探是一个重要的问题,因为你不能让未经授权的人使用或破坏应用程序,同时,你应该确保你的竞争优势。幸运的是,MySQL提供了许多加密功能来提供这种类型的安全性。本文概述了其中的一些功能,并解释了如何使用它们以及它们可以提供的不同安全级别。

双向加密

先说最简单的加密:双向加密。在这里,一段数据是用密钥加密的,只有知道密钥的人才能解密。MySQL有两个函数来支持这种类型的加密,分别叫做ENCODE()和DECODE()。下面是一个简单的例子:

mysql> INSERT INTO users(用户名,密码)值(' joe ',ENCODE('guessme ',' abracadabra ');
查询正常,1行受影响(0.14秒)


Joe的密码是guessme,用密钥abracadabra加密。请注意,加密的结果是一个二进制字符串,如下所示:

mysql> SELECT * FROM users其中username = ' joe
+ - + - +
|用户名|密码|
+-+-+
| Joe | & iexcl;?我??!?|
+ - + - +
集合中的一行(0.02秒)


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

mysql> SELECT DECODE(密码,' abracadabra') FROM users其中username = ' joe
+-+
| DECODE(password,' abracadabra ')|
+-+
| guess me |
+-+
集合中的一行(0.00秒)


在Web应用程序中应该很容易看出它是如何工作的——在验证用户登录时,DECODE()将使用网站特定的密钥来解锁存储在数据库中的密码,并将其与用户输入的内容进行比较。假设您使用PHP作为您的脚本语言,您可以如下查询它:

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 如何利用MySQL加密函数保护网站敏感数据

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情