md5加密脚本怎么写
1.QQ网页登陆密码MD5加密方式
脚本组件.执行 (#md5) ' QQ网页登陆密码MD5加密方式QQ密码 = 脚本组件.运行 (“md5_3”, 删首尾空 (编辑框QQ密码.内容))QQ密码 = 脚本组件.运行 (“md5”, QQ密码 + 到大写 (删首尾空 (编辑框验证码.内容)))QQ账号 = 组合框QQ账号.内容登陆返回临时数据 = 彗星HTTP读文件 (“ %3Fpara%3DblogComment&fp=loginerroralert&h=1&u=” + 删首尾空 (组合框QQ账号.内容) + “&p=” + QQ密码 + “&verifycode=” + 删首尾空 (编辑框验证码.内容) + “&aid=15000101&from_ui=1”, ).如果 (寻找文本 (到文本 (登陆返回临时数据), “登陆成功”, , 假) > 0) 写用户信息 () 载入 (窗口_主要, , 假) 加载标签.标题 = “加载完成” _启动窗口.销毁 () 下面怎么写。
2.如何在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 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解析为退出指令。
3.jQuery有一款这样的MD5加密插件
像你说的这种加密插件还有一个叫BASE64, 一般是用来对客户端数据加密后发送给服务器,或对服务器端返回的数据进行解密显示给用户。
加密后的数据对一般人来说是不可以读的,比如:
加密前:THIS IS A TEST
加密后(MD5):
(32位)4F00F293709E82E3359238ECDA10A740
(16位)709E82E3359238EC
一般这种加密插件,一般都会有解密功能的,并且会跟服务器端的加密解密保持一致。
希望能对你理解加密插件有帮助!
4.QQ网页登陆密码MD5加密方式
.版本 2.支持库 script.支持库 iext.程序集 _启动窗口程序集.程序集变量 最新版本, 文本型.程序集变量 当前版本, 文本型.子程序 __启动窗口_创建完毕.局部变量 账号信息, 文本型.局部变量 密码信息, 文本型组合框QQ账号.内容 = 读配置项 (取运行目录 () + “/zh.DAT”, “账号”, “你的账号:”, 账号信息)编辑框QQ密码.内容 = 读配置项 (取运行目录 () + “/zh.DAT”, “账号”, “你的密码:”, 密码信息)画板验证码.底图 = 彗星HTTP读文件 (“ ”).如果 (文件是否存在 (取当前目录 () + “/zh.DAT”) = 真)组合框QQ账号.禁止 = 真编辑框QQ密码.禁止 = 真选择框1.选中 = 真.否则.如果结束SkinH_Attach ()jinfupj ()Skin_深QQ2009 ().子程序 _画板验证码_鼠标左键被按下, 逻辑型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型画板验证码.底图 = 彗星HTTP读文件 (“ ”).子程序 _登陆按钮_被单击.局部变量 登陆返回临时数据, 字节集.局部变量 账号信息, 文本型.局部变量 密码信息, 文本型脚本组件.执行 (#md5) ' QQ网页登陆密码MD5加密方式QQ密码 = 脚本组件.运行 (“md5_3”, 删首尾空 (编辑框QQ密码.内容))QQ密码 = 脚本组件.运行 (“md5”, QQ密码 + 到大写 (删首尾空 (编辑框验证码.内容)))QQ账号 = 组合框QQ账号.内容登陆返回临时数据 = 彗星HTTP读文件 (“ ”, “POST”, , , “u1=%3Fpara%3DblogComment&fp=loginerroralert&h=1&u=” + 删首尾空 (组合框QQ账号.内容) + “&p=” + QQ密码 + “&verifycode=” + 删首尾空 (编辑框验证码.内容) + “&aid=15000101&from_ui=1”, ).如果 (寻找文本 (到文本 (登陆返回临时数据), “登陆成功”, , 假) > 0)删除文件 (取当前目录 () + “/zh.DAT”)账号信息 = 组合框QQ账号.内容密码信息 = 编辑框QQ密码.内容写配置项 (取运行目录 () + “/zh.DAT”, “账号”, “你的账号:”, 账号信息)写配置项 (取运行目录 () + “/zh.DAT”, “账号”, “你的密码:”, 密码信息)写用户信息 ()载入 (窗口_主要, , 假)加载标签.标题 = “加载完成”_启动窗口.销毁 ()初始化 ()读取我的信息 ()创建目录 (取运行目录 () + “/user/”).否则信息框 (“登录出错,请检查你输入是否正确!”, #错误图标, “提示”).如果 (选择框1.选中 = 真)信息框 (“保存账号信息失败!”, #错误图标, “错误”).否则.如果结束画板验证码.底图 = 彗星HTTP读文件 (“ ”).如果结束.子程序 写用户信息到首记录 ().判断开始 (查找 (读 (“id”) = 删首尾空 (组合框QQ账号.内容)) = 假)加记录 (删首尾空 (组合框QQ账号.内容), 删首尾空 (编辑框QQ密码.内容)).默认.判断结束.子程序 读用户信息.局部变量 i, 整数型到首记录 ().计次循环首 (取记录数 (), i)组合框QQ账号.加入项目 (读 (“id”), i)跳过 ().计次循环尾 ().子程序 _组合框QQ账号_列表项被选择.局部变量 账号信息, 文本型.局部变量 密码信息, 文本型组合框QQ账号.加入项目 (读配置项 (取运行目录 () + “/zh.DAT”, “账号”, “你的账号:”, 账号信息), ).判断开始 (查找 (读 (“id”) = 删首尾空 (组合框QQ账号.内容)) = 真)编辑框QQ密码.内容 = 读 (“pass”).默认.判断结束.子程序 _按钮10_被单击按钮10.禁止 = 真删除文件 (取当。
5.按键精灵加密脚本怎么用
一些脚本是作者用大量心血和汗水编写的,下面是一种利用小精灵加密限制用户使用的方法。
需要作者授权才能单机使用,拷贝到别的电脑无法运行。注册步骤是发给用户编译后的小精灵文件,用户运行生成注册码文件,发给作者者,作者根据注册码文件(Script目录),生成仅能在此用户电脑上运行的小精灵文件。
加密思路:利用用户C盘硬盘序列号的唯一性与一些随机码混合。下面是脚本代码 VBS Dim fso,dr,sn,snt,i,regstring,file,temp,vaid,serialnumber VBS Set fso=CreateObject("Scripting.FileSystemObject") VBS serialnumber="28"&"3F"&"12"&"02" //此处的283F1202是用户c盘序列号,分开写可以避免工具容易查找。
//每个序列号与该电脑对应,根据用户发来的注册文件提取,修改该句得到只能在该 //电脑运行的脚本,编译为小精灵即可 Rem checkreginfo Gosub checkreg If vaid=0 Goto outdoor EndIf Rem mainscript //此处放置需要加密的脚本 Rem outdoor EndScript Sub checkreg If fso.FileExists(".\reginfo.tdt")=0 VBS vaid=0 Gosub creatregtxt VBSCall Call MessageBox("Invaid Register information ,reginfo file created!") Goto checkover EndIf VBS Set file=fso.OpenTextFile(".\reginfo.tdt",1) VBS regstring=file.ReadLine VBS file.Close VBS i=1 VBS sn="" While i。
6.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 f447b20a7fcbf53a5d5。这里以字符串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 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.其。
7.易语言这样的代码怎么写
.版本 2
.支持库 script
.支持库 eAPI
.局部变量 登陆返回临时数据, 字节集
脚本组件.执行 (#md5) ' QQ网页登陆密码MD5加密方式
QQ密码 = 脚本组件.运行 (“md5_3”, 删首尾空 (编辑框_QQ密码.内容))
QQ密码 = 脚本组件.运行 (“md5”, QQ密码 + 到大写 (删首尾空 (编辑框_验证码.内容)))
QQ账号 = 编辑框_QQ帐号.内容
登陆返回临时数据 = 彗星HTTP读文件 (“ ”, “POST”, , , “u1=%3Fpara%3DblogComment&fp=loginerroralert&h=1&u=” + 删首尾空 (编辑框_QQ帐号.内容) + “&p=” + QQ密码 + “&verifycode=” + 删首尾空 (编辑框_验证码.内容) + “&aid=15000101&from_ui=1”, )
.如果 (寻找文本 (到文本 (登陆返回临时数据), “登陆成功”, , 假) >0)
打开指定网址 (“ ”)
信息框 (“成功”, 0, )
.否则
信息框 (“登陆失败,请检查是否输入正确!”, 0, “提示”)
画板_验证码.底图 = 彗星HTTP读文件 (“ ”)
md5加密怎么写
1. 求窗体中的MD5加密语句怎么写
第一步:你要引入一个空间(system.security.cryptography)
第二步:写一个方法例如
public string GetMd5(string str)
{
MD5 md=new MD5CriptoServiceProvider();
byte[] data=System.Text.Encoding.Default.GetBytes(str);
byte[] newdata=md.ComputeHash(data);
stringBuilder sb=new stringBuilder ();
foreach(byte no in newdata)
{
sb.AppendLine(no.tostring());
}
return sb.tostring();
不行的话,再联系我。
}
2. 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密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,尽管他们可以初始化它们。但重要的一点是对于用户密码设置习惯的保
3. 数据库MD5加密时怎么回事
写一个方法或者一个类
public static string MD5JM(string strText)
{
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.Default.GetBytes(strText);
bs = x.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
{
s.Append(b.ToString("x2").ToLower());
}
return s.ToString();
}
这个方法是用来给用户名啊..密码什么的加密。 --管好sql的用户,防止访问他不该访问的数据库(总控制,明细还可以控制他对于某个数据库的具体对象具有的权限) --切换到你新增的用户要控制的数据库 use 你的库名 go --新增用户 exec sp_addlogin 'test' --添加登录 exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户 exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限 --这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表 go --删除测试用户 exec sp_revokedbaccess N'test' --移除对数据库的访问权限 exec sp_droplogin N'test' --删除登录 --添加 --添加用户: exec sp_addlogin '用户名','密码','默认数据库名' --添加到数据库 exec sp_grantdbaccess '用户名','数据库名' --分本权限 grant insert,select,update,delete on table1 to public
4. md5加密是什么
md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但md2的设计与md4和md5完全不同,那是因为md2是为8位机器做过设计优化的,而md4和md5却是面向32位的电脑。这三个算法的描述和c语言源代码在internet rfcs 1321中有详细的描述(http://www.ietf.org/rfc/rfc1321.txt),这是一份最权威的文档,由ronald l. rivest在1992年8月向ieft提交。
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的, 用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。
转载请注明出处育才学习网 » md5加密代码怎么写
育才学习网