md5加密后怎么知道原密码(md5加密后,要找回密码,如何找回正常的密码,而不是加密后的密码)

本文目录
- md5加密后,要找回密码,如何找回正常的密码,而不是加密后的密码
- linux怎么获取使用md5处理前的密码
- 我的密码用MD5加密算法加密了,但我想知道到原来的密码,请高手指点MD5解密算法用Java实现,谢谢
- 用户忘记密码想找回,但是已经MD5加密了,那怎么办
- md5加密以后怎么查看数据库密码
- 数据库查一个用户的密码查出来的密码是加密过的看不到,怎么才能看到
- 找回MD5加密的密码及MD5加密数据库中数据
- MD5加密是不可逆的,但不是有很多MD5在线破解网站吗,而且也可以破解出原始密码,
md5加密后,要找回密码,如何找回正常的密码,而不是加密后的密码
破解基本上是不可能的。MD5是“摘要算法”,目的就是根据结果不能推出原文,在数学上是单向函数。
我建议你这样做,自己随便起个密码(如:“1111111”),你用MD5计算之后,把这个值写入数据库,然后告诉你的用户他的密码被重置为“11111111”就OK了。
linux怎么获取使用md5处理前的密码
这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e
这里以1.txt为需要被加密的文件。
一、 用oppnssl md5 加密字符串和文件的方法。
1. oppnssl md5 加密字符串的方法
a.手动输入命令及过程如下:
#openssl //在终端中输入openssl后回车。
OpenSSL》 md5 //输入md5后回车
123456 //接着输入123456,不要输入回车。然后按3次ctrl+d。
123456e10adc3949ba59abbe56e057f20f883e //123456后面的就是密文了
解释:为何在输入123456后不回车呢?
是因为openssl默认会把回车符当做要加密的字符串中的一个字符,所以得到的结果不同。如果你输入123456后回车,在按2次ctrl+d。得到的结果是:
OpenSSL》 md5
123456
f447b20a7fcbf53a5d5be013ea0b15af //因为openssl不忽略回车符导致的
b.或者直接用管道命令
# echo -n 123456 | openssl md5 //必须要有-n参数,否则就不是这个结果了。
e10adc3949ba59abbe56e057f20f883e
解释:为何要加-n这个参数?
-n就表示不输入回车符,这样才能得到正确的结果。如果你不加-n,那么结果和前面说的一样为:
f447b20a7fcbf53a5d5be013ea0b15af //因为openssl不忽略回车符导致的
2.用openssl加密文件。
#openssl md 5 -in 1.txt
##################################################3
Openssl其他相关加密的命令参数:引自:实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密 收藏
一. 利用openssl命令进行BASE64编码解码(base64 encode/decode)
1. BASE64编码命令
对字符串‘abc’进行base64编码:
# echo abc | openssl base64
YWJjCg== (编码结果)
如果对一个文件进行base64编码(文件名t.txt):
# openssl base64 -in t.txt
2. BASE64解码命令
求base64后的字符串‘YWJjCg==’的原文:
# echo YWJjCg== | openssl base64 -d
abc (解码结果)
如果对一个文件进行base64解码(文件名t.base64):
# openssl base64 -d -in t.base64
二. 利用openssl命令进行md5/sha1摘要(digest)
1. 对字符串‘abc’进行md5摘要计算:echo abc | openssl md5
若对某文件进行md5摘要计算:openssl md5 -in t.txt
2. 对字符串‘abc’进行sha1摘要计算:echo abc | openssl sha1
若对某文件进行sha1摘要计算:openssl sha1 -in t.txt
三. 利用openssl命令进行AES/DES3加密解密(AES/DES3 encrypt/decrypt)
对字符串‘abc’进行aes加密,使用密钥123,输出结果以base64编码格式给出:
# echo abc | openssl aes-128-cbc -k 123 -base64
U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= (结果)
对以上结果进行解密处理:
# echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64
abc (结果)
若要从文件里取原文(密文)进行加密(解密),只要指定 -in 参数指向文件名就可以了。
进行des3加解密,只要把命令中的aes-128-cbc换成des3就可以了。
注:只要利用openssl help就可以看到更多的安全算法了。
###############################################
二、 利用php的md5函数加密字符串
#touch a.php //创建a.php文件
#vi a.php //用vi a.php文件
将《?php echo md5(123456); ?》输入进去后保存
#php a.php //运行a.php文件
显示:e10adc3949ba59abbe56e057f20f883e
三、 利用md5sum命令
A.在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助 man md5sum
#md5sum –help
有个提示:“With no FILE, or when FILE is -, read standard input.”翻译过来就是“如果没有输入文件选项或者文件选项为 - ,则从标砖读取输入内容”,即可以直接从键盘读取字符串来加密。
利用md5sum加密字符串的方法
# md5sum //然后回车
123456 //输入123456.然后按两次ctrl+d.
显示:
123456e10adc3949ba59abbe56e057f20f883e 红色代表加密后的值
还可以用管道命令:
#echo -n ’123123’ | md5sum
或者写成md5加密脚本,名字叫md5.sh,
将以下内容复制进脚本里:
#!/bin/bash
echo -n $1 | md5sum | awk ’{print $1}’
保存后,给脚本执行权限。
#sh md5.sh 123456
显示:e10adc3949ba59abbe56e057f20f883e
B.其实也可以将文本放入文本文件,然后用md5sum 加密改文本,也可以得到字符串加密的值。过程如下:
#touch a.txt
#echo -n 123456 》 a.txt //将123456写进文本文件,不能丢了 –n参数,避免回车符干扰
#md5sum a.txt
显示:e10adc3949ba59abbe56e057f20f883e a.txt
ctrl+d有两个含义:
一是向程序发送文件输入结束符EOF。
二是向程序发送exit退出指令。程序收到信号后具体动作是结束输入、然后等待,还是直接退出,那就要看该程序捕获信号后是如何操作的了。
md5sum属于第一个含义。两次strl+d了,第一次读取EOF指令,再次捕获就会当成exit指令。而shell一类的程序,会直接把ctrl+d解析为退出指令。
我的密码用MD5加密算法加密了,但我想知道到原来的密码,请高手指点MD5解密算法用Java实现,谢谢
-_- 貌似MD5没有解密算法,本身MD5就是单向函数,无论多长的数据都只能生成128位的MD5值,如果出现破解的话,只能纯考字典破解,也就是通过加密字典中的文字,得到的128位数值与你提供的数据进行比对,如果相同的话就认为是解密了... 实际上MD5解密算法什么的不存在的说...
用户忘记密码想找回,但是已经MD5加密了,那怎么办
把123用
md5加密
,然后用加密的字符串去替换数据库里的密码,
"能找回原来的吗"
可以,一个一个字母试,运气好的话,一次就能成功,运气差的话..........十年八年都试不成功,不过“子又生孙,孙又生子,子子孙孙,无穷溃也”,让你的子孙后代一起帮你试,
md5加密以后怎么查看数据库密码
MD5还广泛用于操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。如在Unix系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5
Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。MD5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的Hash值覆盖原来的Hash值就行了。
数据库查一个用户的密码查出来的密码是加密过的看不到,怎么才能看到
1、再次查看账户信息,selectuser,host,passwordfromuser;可以看到密码已被修改。退出命令行,重新启动MySQL数据库,然后尝试使用新密码登录。
2、SELECTUser,Host,PasswordFROMmysql.user;可以查看用户,主机和密码,但是密码是经过MD5或者SHA1加密过的,看了也没有意义。
3、不是自己设置的,修改就行了。然后将程序中需要用到的地方,都修改成新密码即可。
4、打开mysql,输入密码。进入以后,输入语句:select*frommysql.uesr;回车之后就会出现所有的账户和密码,密码是MD5加密过的动态码,无法破解。
找回MD5加密的密码及MD5加密数据库中数据
有时,在开发过程中,如果不小心更改掉了项目管理员帐号的密码而又忘了,存在数据库里的密码又是MD5加密后的,这时候怎么办?最为菜鸟的我,刚开始也很迷茫,不过向前辈们请教了请教,自己也查了查资料,特意整理记录一下,并分享给大家。
前提是你知道这个密码存在在哪个表的哪个字段,只不过是加密了,如果是oracle数据库的话,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input = utl_raw.cast_to_raw(’预置密码’))来得到一个MD5加密后的密码,
所以我们可以在UPDATE user set password=DBMS_OBFUSCATION_TOOLKIT.MD5 ( input = utl_raw.cast_to_raw(’预置密码’)) where name=’sys’来重新把不知道的密码用预置密码替换掉,这样我们就可用忘记密码的帐号重新登录了,如果是MySQL的话,好像有个内置MD5()函数,也可以起到这样的效果,具体的大家可以查查详细MySQL中MD5的用法,如果是SQL Server的话,好像也有对应的MD5家吗函数,记不太清了,应该是HashByte(’加密方式’, ’待加密的值’),也可以通过这种方式找回的。
DBMS_OBFUSCATION_TOOLKIT.MD5是oracle提供的获得md5值的函数,可以直接使用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input = utl_raw.cast_to_raw(’预置密码’))a FROM DUAL来得到加密后的数据,否则得到的是raw类型的数据,需要用utl_raw.cast_to_raw转换成我们常用的md5格式,还有以上得到的md5值都是大写,如果数据库中存储的是小写,需要再用lower函数转换一下。
我们还可以使用存储过程来实现MD5加密:
declare
v_string varchar2(50);
v_n number;
begin
v_string := utl_raw.cast_to_raw(sys.dbms_obfuscation_toolkit.md5(input_string = ’123456’));
v_n := length(v_string);
dbms_output.put_line(v_string || ’--’ || v_n);
end;
也可以写成函数后调用实现MD5加密:
create or replace function fun_get_md5(i_username in varchar2, i_password in varchar2)
return varchar2 is
begin
return utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string = (i_username||i_password)));
end fun_get_md5;
sql select fun_get_md5(’zhangwz’,’123456’) from dual;
fun_get_md5(’zhangwz’,’123456’
--------------------------------------------------------------------------------
0d8df9100cd33ef80af0527858136e0b
下边是网上摘了一个存取用户密码信息的例子,以供大家参考:
create table sys_user (id number,username varchar2(50),password varchar2(50));
存取用户密码的过程应该写到存储过程中,以方便以后调用,这里是尽量省略来写。
用户注册时存入密码:
sql insert into sys_user values (1001,’zhangwz’, fun_get_md5(’zhangwz’,’123456’)) ;
sql commit;
用户登录时取出密码:
create or replace procedure p_login(i_uname varchar2
,i_passwd varchar2) is
v_id number;
v_error_text varchar2(200);
begin
select id
into v_id
from sys_user
where username = i_uname
and password = fun_get_md5(i_uname, i_passwd);
exception
when others then
v_error_text := ’用户名或密码不正确!’ || ’,sqlcode:’ || sqlcode ||
’ sqlerrm:’ || substr(sqlerrm ,1 ,200);
end p_login;
MD5加密是不可逆的,但不是有很多MD5在线破解网站吗,而且也可以破解出原始密码,
他不是真正的破解,是通过预先用MD5加密一些密码然后存入数据库,当用户需要破解密码时然后用用户的这条MD5码在数据库中查找,能找到就破解了,就给你返回原始密码,找不到就破解不了,所以MD5是不可逆的,不知我这么说你能否懂,不懂可继续追问

更多文章:
iso镜像怎么解压成gho(请问官方iso怎么转化为gho)
2026年11月3日 20:50
win10要花钱装防火墙吗(windows10一定要安装防火墙吗)
2026年11月3日 20:40
sd卡要求格式化怎么办(sd卡提示需要格式化,怎么恢复数据)
2026年11月3日 20:00
电脑重启死循环进不去(电脑出现无限自动重启的死循环如何解决)
2026年11月3日 17:00
tif用什么打开(tif文件用什么打开Win10打开tif文件的详细步骤)
2026年11月3日 16:20






