MySQL中忘记用户密码怎么办?MySQL如何获取用户密码

日常使用MySQL的过程中我们时常会遇到忘记用户密码的情况,面对这种情况我们该如何解决呢?直接更改用户密码?当然这是可行的,但对于有大量运用的数据库直接更改密码牵连很多,所以并不提倡这种方式,哪该怎么做呢?咱是不是可以反向破解密码呢?
答案是肯定的。这篇文章主要就讲述MySQL如何破解密码。

一、获取用户密码

首先,我们知道MySQL中有专门存放用户信息的表,即mysql库中的user表。其中字段user即为用户名,password字段为用户密码,需要注意的是MySQL5.7及之后的版本用的都是authentication_string字段替代以前的password字段。

-- 查询数据库的用户名、密码
select user,password from mysql.user;-- mysql5.7之前
select user,authentication_string from mysql.user;-- mysql5.7及之后

二、MYSQL加密方式

先附上官网的解释:
https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_password

(1)MYSQL 4.1版本之前是MYSQL323加密,生成的是经过加密的16位字符串,用的Old_Password(str)。
例:MYSQL323= 10c886615b135b38
(2)MYSQL 4.1和之后的版本都是MYSQLSHA1加密,生成的是经过加密的40位字符串(前面的*不算在内,后面破解密码也不带这个星号),用的Password(str)。注意:mysql8.0.11移除了password()函数。
例:MYSQLSHA1= *A2EBAE36132928537ADA8E6D1F7C5C5886713CC2
(3)md(str)
计算字符串的MD5 128位校验和。该值以32个十六进制数字的字符串返回,或者 NULL如果参数为 NULL。例如,该返回值可用作哈希键。
返回值是连接字符集中的字符串。如果启用了FIPS模式,则 MD5()返回 NULL。

密码长度查看:
select length(password(‘xxxxxx’));
select length(old_password(‘xxxxx’));

三、破解方式

这里提供一个我用过的在线破解网站:somd5.com
还有很多破解方式,我没有一一测试,可参考https://www.cnblogs.com/ichunqiu/p/7810914.html中的内容。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值