mysql对密码进行加密,以及忘记加密后密码的解决

调用mysql console向表格中增加记录时, 出于安全性考虑,密码部分希望不可见,可以采用比较常见的MD5(哈希加密)对输入的密码进行一定的保护。

Mysql syntax:

1. inserts new data into a database
INSERT INTO Table_name(Coulumn_name01,Column_name02,...) VALUES ("Value01","Value02",...);

e.g.
我们希望向表格user中新增一条记录,用户的lastname和firstname是jeff lee,我们指定的用户密码是12345678,如果在输入时希望密码不可见,可以作如下处理:

insert into User(lastname,firstname,password) values("Jeff","Lee",MD5("12345678"));

mysql对密码进行加密,以及忘记加密后密码的解决
MD5加密后添加用户数据


可以看出在表格中,经过MD5加密后,密码是不可见的。MD5是单向加密,也就是说,经过加密处理后的指定字符串是无法查询到原字符串的,这样可以在一定程度上可以对数据做到保护。

在进行查询时,可以使用语句:
select * from user where password=md5("12345678");

由于操作大量的数据,不可避免有时会忘记曾经加密后的密码,此处推荐一种测试后有效的方法,简而言之就是我们把忘记的密码修改成新设定的密码。

mysql对密码进行加密,以及忘记加密后密码的解决
忘记MD5加密后密码的处理


在上图的操作中,我们首先添加了用户jeff lee,初始密码是12345678,经过MD5加密后的密码是“25d55ad283aa400af464c76d713c07ad”,在前面的内容,我介绍过,MD5加密后的密码,是无法转译的,也就是我们无法查询出原始密码。所以我们使用update 语句对本条记录进行修改,将密码改为“e10adc3949ba59abbe56e057f20f883e”,这是123456经过加密后的得到的MD5密码。通过此步骤的操作,我们就可以把原先遗忘的密码替换成已知的 123456 接着,就可以进行其它必要的操作了。

当然,以上的操作都是以root身份登陆执行的操作,在修改前,确保你有相应的权限。