导航:首页 > 文档加密 > md5加密解密函数

md5加密解密函数

发布时间:2022-05-10 06:26:06

‘壹’ asp md5解密算法

亲,知道什么是不可逆的加密算法吗?MD5就是这样一种算法,它的加密过程是不可逆的,什么是不可逆,通俗的说是无法解密的。一般我们这样操作:在注册密码之后,给密码md5加密,将加密的内容存入数据库(我们不能把明文密码直接存入数据库,这样非常危险的。)。那么登陆的时候,将用户输入的密码先进行md5加密之后,查找数据库用户名一样的用户,读取它的密码,比较,一样的话就对了。不知道我的回答有没有解决你的问题?

‘贰’ MD5算法如何解密

介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了"字节串"而不是"字符串"这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。

MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。

MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被"篡改"。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。

MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不"知道"用户的密码是什么。

一些黑客破获这种密码的方法是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。

即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)....+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。

在很多电子商务和社区应用中,管理用户的Account是一种最常用的基本功能,尽管很多Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或简单的变换后直接保存在数据库中,因此这些用户的密码对软件开发者或系统管理员来说可以说毫无保密可言,本文的目的是介绍MD5的Java Bean的实现,同时给出用MD5来处理用户的Account密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,尽管他们可以初始化它们。但重要的一点是对于用户密码设置习惯的保护

‘叁’ MD5加密解密问题

MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。这个的意思就是这个算法生成的结果其实是用来验证我们发送出来的数据有没有被其他人修改过,这就是为什么网上有很多专门来解密MD5的原因了,因为他本来就不是用来加密的。所以你希望加密的话,你可以考虑采用RSA加密,从目前来说的话,RSA2048位的加密,还没有人能解密。

‘肆’ asp如何调用MD5解密

经过MD5加密的数据是不能解密的。
有种办法就是到数据库找到加密后的内容,然后比对也可以进入。
如:TextBox1.Text 是输入的密码,那就把加密的方法 xxx(TextBox1.Text )在和数据库里的这个加密的字段去比就OK了。

‘伍’ Oracle定义DES加密解密及MD5加密函数示例

(1)DES加密函数
create
or
replace
function
encrypt_des(p_text
varchar2,
p_key
varchar2)
return
varchar2
is
v_text
varchar2(4000);
v_enc
varchar2(4000);
raw_input
RAW(128)
;
key_input
RAW(128)
;
decrypted_raw
RAW(2048);
begin
v_text
:=
rpad(
p_text,
(trunc(length(p_text)/8)+1)*8,
chr(0));
raw_input
:=
UTL_RAW.CAST_TO_RAW(v_text);
key_input
:=
UTL_RAW.CAST_TO_RAW(p_key);
dbms_obfuscation_toolkit.DESEncrypt(input
=>
raw_input,key
=>
key_input,encrypted_data
=>decrypted_raw);
v_enc
:=
rawtohex(decrypted_raw);
dbms_output.put_line(v_enc);
return
v_enc;
end;
(2)DES解密函数
create
or
replace
function
decrypt_des(p_text
varchar2,p_key
varchar2)
return
varchar2
is
v_text
varchar2(2000);
begin
dbms_obfuscation_toolkit.DESDECRYPT(input_string
=>
UTL_RAW.CAST_TO_varchar2(p_text),key_string
=>p_key,
decrypted_string=>
v_text);
v_text
:=
rtrim(v_text,chr(0));
dbms_output.put_line(v_text);
return
v_text;
end;
(3)MD5加密函数
CREATE
OR
REPLACE
FUNCTION
MD5(passwd
IN
VARCHAR2)
RETURN
VARCHAR2
IS
retval
varchar2(32);
BEGIN
retval
:=
utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING
=>
passwd))
;
RETURN
retval;
END;
(4)函数使用示例
DES加密:
update
tb_salarysign_staff
s
set
s.staffpwd
=encrypt_des(s.staffpwd,
'test#5&124*!de');
DES解密:select
decrypt_des(s.staffpwd,
'test#5&124*!de')
from
tb_salarysign_staff
s
MD5加密:
update
tb_salarysign_staff
s
set
s.staffpwd
=
md5(s.staffpwd);

‘陆’ 如何利用Oracle自带的MD5对数据进行加密

1、DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数
CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)
RETURN VARCHAR2
IS
retval varchar2(32);
BEGIN
retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;
RETURN retval;
END;
select md5('123456') from al;
MD5('123456')


2、DES加密
create or replace function
encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is
v_text varchar2(4000);
v_enc varchar2(4000);
raw_input RAW(128) ;
key_input RAW(128) ;
decrypted_raw RAW(2048);
begin
v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0));
raw_input := UTL_RAW.CAST_TO_RAW(v_text);
key_input := UTL_RAW.CAST_TO_RAW(p_key);
dbms_obfuscation_toolkit.DESEncrypt(input => raw_input,key => key_input,encrypted_data =>decrypted_raw);
v_enc := rawtohex(decrypted_raw);
dbms_output.put_line(v_enc);
return v_enc;
end;
DES加密:
update tb_salarysign_staff s set s.staffpwd =encrypt_des(s.staffpwd, 'test#5&124*!de');
3、DES解密函数
create or replace function decrypt_des(p_text varchar2,p_key varchar2) return varchar2 is
v_text varchar2(2000);
begin
dbms_obfuscation_toolkit.DESDECRYPT(input_string => UTL_RAW.CAST_TO_varchar2(p_text),key_string =>p_key, decrypted_string=> v_text);
v_text := rtrim(v_text,chr(0));
dbms_output.put_line(v_text);
return v_text;
end;
DES解密:select decrypt_des(s.staffpwd, 'test#5&124*!de') from tb_salarysign_staff s;

‘柒’ 什么是MD5加密和解密它(数值)和验证文件是否一致性有什么区别

MD5信息摘要算法,是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。
首先他并不是加密和解密的算法,他其实是利用输入文件的信息计算出一个唯一对应的散列,当输入信息有变化,结果也会有相应的变化。这样的话,我们就可以利用md5的结果来验证文件是不是有修改。这样我们就从算法上来保证md5结果和验证文件有一一对应的关系。

‘捌’ 在php5中md5在加密字符串后如何解密

MD5加密是不能逆运算的,现在的破解大都是穷尽法,就是有一个庞大的MD5码对照表放在那里,然后一个一个去对照着查。

‘玖’ 在线MD5解密

d5密文破解(解密)可以说是网络攻击中的一个必不可少的环节,是黑客工具中的一个重要“辅助工具”。md5解密主要用于网络攻击,在对网站等进行入侵过程,有可能获得管理员或者其他用户的账号和密码值(md5加密后的值)。获得的密码值有两种情况,一种是明文,另外一种就是对明文进行了加密。如果密码值是加密的,这个时候就需要对密码值进行判断,如果是采取md5加密,则可以通过MD5Crack3等软件进行破解。王小云教授的md5密码碰撞破解算法没有公布,因此目前Md5解密方式主要采取暴力破解,
即软件通过算法生成字典,然后使用md5函数加密该字典中的值形成密文,接着跟需要破解的密文进行比较,如果相同则认为破解成功。目前网上有很多网站提供md5加密或者加密值查询,将加密后的md5值,输入到网站中,如果网站数据库中存在该md5,则该值对应的md5加密前的值就为密码。本案例介绍如何使用MD5Crack3以及一些在线的网站来进行破解;MD5Crack3是阿呆写的一款md5密码破解软件,其网站地址:http://www.adintr.com/subject/mdcrk/index.htm,目前已经发布了MD5Crack4.0版本,也可以到我的blog(http://simeon.blog.51cto.com/18680/144558)去下载。
(一)在线生成md5密码值
1.有关md5加解密知识
Md5密文破解(解密)可以说是网络攻击中的一个必不可少的环节,是黑客工具中的一个重要“辅助工具”。md5解密主要用于网络攻击,在对网站等进行入侵过程,有可能获得管理员或者其他用户的账号和密码值(md5加密后的值)。获得的密码值有两种情况,一种是明文,另外一种就是对明文进行了加密。如果密码值是加密的,这个时候就需要对密码值进行判断,如果是采取md5加密,则可以通过MD5Crack4等软件进行破解。王小云教授的md5密码碰撞破解算法没有公布,因此目前Md5解密方式主要采取暴力破解,
即软件通过算法生成字典,然后使用md5函数加密该字典中的值形成密文,接着跟需要破解的密文进行比较,如果相同则认为破解成功。目前网上有很多网站提供md5加密或者加密值查询,将加密后的md5值,输入到网站中,如果网站数据库中存在该md5,则该值对应的md5加密前的值就为密码。
2.通过cmd5网站生成md5密码
在浏览器中输入地址“http://www.cmd5.com/”,在输入框中输入想要加密的原始密码,然后单击“md5加密或解密”按钮即可,如图1所示,原始密码为“goodman88”,加密后的密码值为:
MD5(goodman88,32)
=

MD5(goodman88,16)
=
15259023faa219f5

图1
md5加密
作为实验数据,我们在生成一组生日的md5密码如下:
MD5(19801230,32)
=

MD5(19801230,16)
=
336a8eb3ebc1e42e
(二)在线破解md5密码值
1.通过cmd5网站破解md5密码
在cmd5网站的输入框中输入刚才加密后的md5
32值“”,然后单击“md5加密或解密”按钮即可,如图2所示,未能成功破解。

图2
通过cmd5网站未能破解md5密码
将第二个生日加密后的md5值“”,放入cmd5网站进行破解,很快其结果就出来了,如图3所示。

图3
破解简单的数字密码
2.在线md5破解网站收费破解高难度的md5密码值
一些在线网站提供的md5密码破解只能破解已经收录和一些简单的密码,对于稍微复杂一点的密码,都不容易被破解;而且对一些稍微有点难度的md5密码值,如果数据库中有,在线网站是要求付费的,例如用一个复杂一点的md5值进行破解,如图4所示,提示找到,但是要求进行付费。

图4要求付费才能查看md5密码值
(三)使用字典暴力破解md5密码值
1.再次生成md5密码值
再在cmd5网站生成原密码为“jimmychu246”的md5密码值为:
MD5(jimmychu246,32)
=

MD5(jimmychu246,16)
=
b6b2e5aaca9fd171
直接运行md5crack4,运行界面如图5所示。

图5
md5crack4程序主界面
2.在md5crack4中验证md5值
将需要破解的md5值()粘贴到“破解单个密文(Single
Cryptograph)”输入框中,如图6所示,如果该md5值是正确的,则会在“破解单个密文”输入框下方显示黑色的“有效(valid)”两个字,否则显示“valid”为灰色。

3.使用字典进行破解
在“字符设置(Plaintext
Setting)”中选择“字典(Dictionary)”,并在“N0.1”、“N0.2”以及“N0.3”中选择三个不同的字典,选择完毕后,单击“Start”按钮开始md5破解,破解结束后会给出相应的提示,如图7所示,在本案例中使用字典破解成功,在Result中显示破解的密码为“jimmychu246”。

图7使用字典进行破解
4.“使用字符集(Char
Muster)”中的数字进行破解
将上面生成的数字md5值“336a8eb3ebc1e42e”放入单一md5密码破解输入框中,选中“Char
Muster”后,依次可以选择“Number”、“lowercase”、“majuscule”、“special
char”以及“custom”进行破解,在本例中使用数字进行破击,因此
“最小长度(Min
Length)”中设置为“1”,“最大长度(Max
Length)”中设置为“8”,然后单击“开始”按钮,使用数字进行md5破解,尝试破解密码位数从1~9999999之间的所有数字组合,如图8所示,其密码值破解成功,破解结果为“336a8eb3ebc1e42e
--->
[19801230]”。

图8
使用数字进行破解
&说明
(1)在md5crack4中还可以定义数字、大小字母、特殊字符的组合来进行破解。
(2)如果计算机配置比较好,可以设置更多线程。
(3)如果自定义进行破解,建议先选择使用数字,然后依次是数字、大小字母、特殊字符的组合。破解时先易后难,否则破解时间太长。
(4)在md5crack4还可以“使用插件”进行破解。
(5)在md5crack4中还可以设置软件显示的语言版本,一共有中文简体和英语两个版本,单击主界面中的设置(Option),即可进行设置,如图9所示。

图9
设置md5crack4
5.一次破解多个密码
将需要破解的md5密码全部存放到一个txt文件中,每一个密码独立一行,然后在md5crack4中单击“破解多个密文”,选择刚才编辑的md5密码文件,如图10所示,选择一种破解方式,在本案例中选择使用数字字典进行破解,最后单击“开始”按钮开始破解。

图10
破解多个md5密码值
在md5crack4右下方会显示破解结果,单击“日志”可以查看md5值校验等日志信息,单击“结果”可以查看破解的结果,如图11所示,在结果中会将md5值与原始密码进行一一对应。

图11
破解结果
Md5加解密是网络攻防中必须掌握的知识,本文介绍了使用md5cracker以及通过网站来对md5值进行破解,对md5破解,可以先在一些md5破解网站进行破解,如果未能破解,则可以在本地通过md5cracker进行破解。
ps:转载至安天365

阅读全文

与md5加密解密函数相关的资料

热点内容
加密软件wifi 浏览:166
单片机地址译码方式 浏览:728
宜春团购app开发哪里好 浏览:619
域服务器如何设置多个dhcp 浏览:925
通达信分时图分时均价线源码 浏览:857
在单片机中有哪些显示器 浏览:789
我的世界如何在服务器里设置货币 浏览:591
酷猫系统如何安装app 浏览:636
邮寄服务器是干什么用 浏览:159
解除电脑加密文件夹 浏览:358
androidcheckbox组 浏览:546
linux在线安装软件 浏览:823
如何设置手机安卓版 浏览:285
简历pdfword 浏览:123
锋云视频服务器网关设置 浏览:162
linux服务器如何查看网卡型号 浏览:142
加密相册误删了怎么恢复 浏览:380
安卓代练通怎么下载 浏览:518
知道域名如何查询服务器 浏览:907
方舟手游怎么才能进服务器 浏览:289