利用MySQL加密函数保护Web网站敏感数据(2)
作者:handan 时间:2008-12-17 16:11:00
现在您可以测试用户输入的内容是否与已经保存的密码匹配,方法是取得用户输入密码的MD5校验码,并将它与已经保存的密码进行比对,就像下面这样:
mysql> SELECT COUNT(*) FROM users WHERE
username='joe' AND password=MD5('guessme');
+----------+
| COUNT(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
或者,您考虑一下使用ENCRYPT()函数,它使用系统底层的crypt()系统调用来完成加密。这个函数有两个参数:一个是要被加密的字符串,另一个是双(或者多)字符的“salt”。它然后会用salt加密字符串;这个salt然后可以被用来再次加密用户输入的内容,并将它与先前加密的字符串进行比对。下面一个例子说明了如何使用它:
mysql> INSERT INTO users (username, password)
VALUES ('joe', ENCRYPT('guessme', 'ab'));
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM users WHERE username='joe';
+----------+---------------+
| username | password |
+----------+---------------+
| joe | ab/G8gtZdMwak |
+----------+---------------+
1 row in set (0.00 sec)
结果是:
mysql> SELECT COUNT(*) FROM users WHERE
username='joe' AND password=ENCRYPT('guessme', 'ab');
+----------+
| COUNT(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
注释:ENCRYPT()只能用在*NIX系统上,因为它需要用到底层的crypt()库。
值得注意的是,上面的例子说明了如何利用MySQL对您的数据进行单向和双向的加密,并且告诉了您一些关于如何保护数据库和其他敏感数据库信息安全的理念。
标签:加密,数据库,mysql,函数
0
投稿
猜你喜欢
python实现自动获取IP并发送到邮箱
2023-02-15 13:09:56
JavaScript延时效果比较不错的
2024-04-22 13:22:48
Python图像阈值化处理及算法比对实例解析
2022-08-14 19:32:33
通过Python绘制中国结的示例代码
2021-05-29 15:15:21
增删改查sql语法基础教程
2024-01-16 23:42:18
opencv实现图像几何变换
2022-02-18 09:47:50
javascript时间自动刷新实现原理与步骤
2024-04-30 08:50:50
python使用turtle库绘制树
2022-04-14 09:09:06
Python实现列表中非负数保留,负数转化为指定的数值方式
2022-07-23 21:23:24
妄想or未来?界面的虚拟现实化
2010-03-01 12:53:00
python脚本实现统计日志文件中的ip访问次数代码分享
2021-03-17 08:40:08
python sys模块sys.path使用方法示例
2023-01-12 22:52:15
vue下载excel文件的四种方法实例
2024-04-09 10:44:56
利用Python编写一个简单的缓存系统
2021-08-15 02:55:39
连接mysql的常用工具分享
2024-01-21 20:01:18
用Python将mysql数据导出成json的方法
2024-01-26 09:08:58
Go语言基础函数基本用法及示例详解
2024-05-09 14:57:15
python使用KNN算法识别手写数字
2022-02-20 10:48:23
pandas DataFrame的修改方法(值、列、索引)
2021-10-17 11:35:10
Golang极简入门教程(二):方法和接口
2024-04-25 15:16:48