数据库级别的MD5加密(扩展)
什么是md5?
- 主要增强算法复杂度和不可逆性
- MD5不可逆,具体的值的md5是一样的
- MD5破解网站的原理,背后有一个字典,MD5加密后的值,加密的前值
-- ================测试MD5 加密==========
CREATE TABLE `testmd5`(
`id` INT(4) NOT NULL,
`name` VARCHAR(20) NOT NULL,
`pwd` VARCHAR(50) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
-- 明文密码
INSERT INTO testmd5 VALUES(1,'zhangsan','123456'),(2,'lisi','123456'),(3,'wangwu','123456')
-- 加密
UPDATE testmd5 SET pwd = MD5(pwd) WHERE id = 1
UPDATE testmd5 SET pwd = MD5(pwd)
-- 插入的时候加密
INSERT INTO testmd5 VALUES(4,'xiaoming',MD5('123456'))
-- 如何校验:将用户传递进来的密码,进行md5加密,然后对比加密后的值
SELECT * FROM testmd5 WHERE `name` = 'xiaoming' AND pwd=MD5('123456')
Select小结
SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[AS aliasl][, table.field2[AS alias2]][,.....]]}
FROM table_name [AS table_alias]
[LEFT | RIGHT | ineer JOIN table_name2] -- 联合查询
[WHERE ....] -- 指定结果需满足的条件
[GROUP by.....] -- 指定结果按照哪几个字段来分组
[HAVING] -- 过滤分组的记录必须满足的次要条件
[ORDER by.....] -- 指定查询记录按一次或多个条件排序
[LIMIT {[OFFSET,]ROW_COUNT | row_countoffset OFFSET}]
-- 指定查询的记录从哪条到哪条