本文目录一览:
- 1、如何利用MySQL数据库自带加密函数进行加密
- 2、mysql数据库密码加密方式有几种
- 3、mysql 密码加密
- 4、如何在mysql数据库中加入加密算法,使得数据库能够对数据库中的数据进行加密。
- 5、在MySQL数据库中如何为用户设置密码
如何利用MySQL数据库自带加密函数进行加密
首先,先介绍下加密函数,PASSWORD(string)函数可以对字符串string进行加密,代码如下:
SELECT PASSWORD('you');
如下图所示:
执行第一步的SQL语句,查询结果是一串字符串,并且PASSWORD(string)函数加密是不可逆转,
如下图所示:
另外一个加密函数MD5(string),主要针对普通的数据进行加密,代码如下:
SELECT MD5('hai');
如下图所示:
最后一个加密函数ENCODE(string,pass),可以使用字符串pass来加密字符串string。首先要创建一个数据库表t_pass_info,代码如下:
CREATE TABLE t_pass_info(
id int(10),
pass_info blob
);
如下图所示:
然后,向这个数据库表插入一条数据,代码如下:
INSERT INTO t_pass_info(id,pass_info) VALUES
(1,ENCODE('dong','bb'));
如下图所示:
6
查看插入数据库表t_pass_info记录,代码如下:
SELECT * FROM
t_pass_info;
如下图所示:
7
MySQL自带还有一个解密函数DECODE(str,pass_str),可以使用字符串pass_str来为str解密,代码如下:
SELECT DECODE(ENCODE('dong','aa'),'aa');
如下图所示:
mysql数据库密码加密方式有几种
MySQL数据库的认证密码有两种方式,
MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,
MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
select old_password('111111');
(2)以MySQLSHA1方式加密
select password('111111');
MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。
mysql 密码加密
1.mysqladmin -uxxx -p password "newpassword";
这个方法win下不好用
2.进入mysql后
set password for '用户名'@'hostname' identified by 'newpassword';
3.进入mysql后
grant usage on *.* to '用户名'@'hostname' identified by 'newpassword';
4.修改user表
use mysql;
update user set password=password('newpassword') where user='xxxx';
如何在mysql数据库中加入加密算法,使得数据库能够对数据库中的数据进行加密。
没有用过mysql加密,但一般都是用服务端语言把数据加密后存入数据库中,比如,在PHP里用md5函数把用户的密码加密之后存入数据中,一般都 是这么解决的。
在MySQL数据库中如何为用户设置密码
假如你是一个管理员, 你还要进行一些用户的建立及授权,这又涉及到设置密码的问题.下面我们就讨论一下如何设置密码: 首先我们应该知道Mysql数据库中的口令存储必须用password()函数加密它.因为在user表中是以加密形式存储口令,而不是作为纯文本.如果你没有加密,直接在数据库中执行以下语句: use mysql insert into user (host,user,password) values ('%','user_name','your password'); flush privileges;相信结果不会让你满意.因为服务器比较的是加密的值,所以服务器连接一定失败.这里需要说明的是flush privileges;这条 命令起到了重新加载授权表.你也可以在shell下直接用mysqladmin -u root reload或者mysqladmin -u root flush-privileges来 实现重载授权表. 在MySQL环境下,你可以使用以下语句进行设置密码: 1.insert into user(host,user,password) values('%','user_name',password("your password"); 2.set password for user_name = password("your password")以上两种方法都必须进行重载授权表. 3.当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令. 示例: grant all on *.* to mailto:user_name@ identified by "your password";另外大家也可以在shell环境下用mysqladmin程序来设置密码。