一个vb.net 16位加密解密md5求解密,解密后加积分

2670人阅读
C# MD5加密
首先,先简单介绍一下MD5
MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。
MD5具有很好的安全性(因为它具有不可逆的特征,加过密的密文经过解密后和加密前的东东相同的可能性极小)
using System.Security.C
using System.T
具体代码如下(写在按钮的Click事件里):
byte[] result = Encoding.Default.GetBytes(this.tbPass.Text.Trim());&&& //tbPass为输入密码的文本框
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = puteHash(result);
this.tbMd5pass.Text = BitConverter.ToString(output).Replace(&-&,&&);& //tbMd5pass为输出加密文本的文本框
C# md5加密(上)
//加密前数据
//加密后数据
b=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(a,&MD5&)
using&& System.Security.C
public&& static&& string&& GetMD5(string&& myString)&&
MD5&& md5&&&& =&& new&& MD5CryptoServiceProvider();
byte[]&& fromData&& =&& System.Text.Encoding.Unicode.GetBytes(myString);
byte[]&& targetData&& =&& puteHash(fromData);
string&& byte2String&& =&&
for&& (int&& i=0;&& i&targetData.L&& i++)&&
byte2String&& +=&& targetData[i].ToString(&x&);
return&& byte2S
using&& System.Security.C
///&& &summary&
///&& 给一个字符串进行MD5加密
///&& &/summary&
///&& &param&& name=&strText&&待加密字符串&/param&
///&& &returns&加密后的字符串&/returns&
public&& static&& string&& MD5Encrypt(string&& strText)
MD5&& md5&& =&& new&& MD5CryptoServiceProvider();
byte[]&& result&& =&& puteHash(System.Text.Encoding.Default.GetBytes(strText));
return&& System.Text.Encoding.Default.GetString(result);
C# MD5加密
using System.Security.C
private void btnOK_Click(object sender, System.EventArgs e)
&& string strConn = &server=192.168.0.51;database=User id= password=123&;
&& if(texName.Text.Trim()==&&)
&&& this.RegisterStartupScript(&sf&,&&script language='javascript'&alert('用户名不能为空');document.all('texName').focus()&/script&&);
&& else if(texPassword.Text.Trim()==&&)
&&& this.RegisterStartupScript(&sfs&,&&script language='javascript'&alert('密码不能为空');document.all('texPassword').focus()&/script&&);
&&& //将获取的密码加密与数据库中加了密的密码相比较
&&& byte[] by = puteHash(utf.GetBytes(texPassword.Text.Trim()));
&&& string resultPass = System.Text.UTF8Encoding.Unicode.GetString(by);
&&& conn.ConnectionString=strC
&&& SqlCommand comm = new SqlCommand();
&&& string name = texName.Text.Trim().ToString();
&&& mandText=&select Ruser_pwd,Ruser_nm from Ruser where Accountno = @name&;
&&& comm.Parameters.Add(&@name&,SqlDbType.NVarChar,40);
&&& comm.Parameters[&@name&].Value=
&&&& conn.Open();
&&&& comm.Connection=
&&&& SqlDataReader dr=comm.ExecuteReader();
&&&& if(dr.Read())
&&&&& //用户存在,对密码进行检查
&&&&& if(dr.GetValue(0).Equals(resultPass))
&&&&&& string user_name=dr.GetValue(1).ToString();
&&&&&& string user_Accountno=texName.Text.Trim();
&&&&&& Session[&logon_name&]=user_
&&&&&& Session[&logon_Accountno&]=user_A
&&&&&& //登录成功,进行页面导向
&&&&& else
&&&&&& this.RegisterStartupScript(&wp&,&&script language='javascript'&alert('密码错误,请检查。')&/script&&);
&&&&& this.RegisterStartupScript(&nu&,&&script language=javascript&alert('用户名不存在,请检查。')&/script&&);
&&& catch(Exception exec)
&&&& this.RegisterStartupScript(&wc&,&&script language=javascript&alert('网络连接有异,请稍后重试。')&/script&&);
&&& finally
&&&& conn.Close();
C# MD5加密
C#开发笔记&
& 一、C# MD5-16位加密实例,32位加密实例(两种方法)
环境:vs.net2005/sql server2000/xp测试通过
1.MD5 16位加密实例
using System.Collections.G
using System.T
using System.Security.C
namespace md5
&&& class Program
&&&&&&& static void Main(string[] args)
&&&&&&&&&&&& Console.WriteLine(UserMd5(&8&));
&&&&&&&&&&&& Console.WriteLine(GetMd5Str(&8&));
&&&&&&&& }
&&&&&&& /**//// &summary&
&&&&&&& /// MD5 16位加密 加密后密码为大写
&&&&&&& /// &/summary&
&&&&&&& /// &param name=&ConvertString&&&/param&
&&&&&&& /// &returns&&/returns&
&&&&&&& public static string GetMd5Str(string ConvertString)
&&&&&&&&&&&& MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
&&&&&&&&&&& string t2 = BitConverter.puteHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
&&&&&&&&&&&& t2 = t2.Replace(&-&, &&);
&&&&&&&&&&& return t2;
&&&&&&&& }
& /**//// &summary&
&&&&&&& /// MD5 16位加密 加密后密码为小写
&&&&&&& /// &/summary&
&&&&&&& /// &param name=&ConvertString&&&/param&
&&&&&&& /// &returns&&/returns&
&&&&&&& public static string GetMd5Str(string ConvertString)
&&&&&&&&&&&& MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
&&&&&&&&&&& string t2 = BitConverter.puteHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
&&&&&&&&&&&& t2 = t2.Replace(&-&, &&);
&&&&&&&&&&& t2 = t2.ToLower();
&&&&&&&&&&&& return t2;
&&&&&&&& }
&&&&&&& /**//// &summary&
&&&&&&& /// MD5 32位加密
&&&&&&& /// &/summary&
&&&&&&& /// &param name=&str&&&/param&
&&&&&&& /// &returns&&/returns&
&&&&&& static& string UserMd5(string str)
&&&&&&&&&&& string cl =
&&&&&&&&&&& string pwd = &&;
&&&&&&&&&&&& MD5 md5 = MD5.Create();//实例化一个md5对像
&&&&&&&&&&& // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
&&&&&&&&&&& byte[] s = puteHash(Encoding.UTF8.GetBytes(cl));
&&&&&&&&&&& // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
&&&&&&&&&&& for (int i = 0; i & s.L i++)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
&&&&&&&&&&&&&&&& pwd = pwd + s[i].ToString(&X&);
&&&&&&&&&&&&&&&
&&&&&&&&&&&& }
&&&&&&&&&&&
&&&&&&&& }
using System.Security.C
using System.T
public static string StringToMD5Hash(string inputString)
&&&&&&&&&&& MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
&&&&&&&&&&& byte[] encryptedBytes = puteHash(Encoding.ASCII.GetBytes(inputString));
&&&&&&&&&&& StringBuilder sb = new StringBuilder();
&&&&&&&&&&& for (int i = 0; i & encryptedBytes.L i++)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& sb.AppendFormat(&{0:x2}&, encryptedBytes[i]);
&&&&&&&&&&& }
&&&&&&&&&&& return sb.ToString();
二、首先在界面中引入:using System.Web.S
假设密码对话框名字password,对输入的密码加密后存入变量pwd中,语句如下:
&string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, &MD5&);
如果要录入则录入pwd,这样数据库实际的密码为202*****等乱码了。
如果登录查询则要:
select username,password from users where username='&+ UserName.Text +&' and password='&+ pwd +&'
因为MD5不能解密,只能把原始密码加密后与数据库中加密的密码比较
三、C# MD5 加密方法 16位或32位
& public string md5(string str,int code)
&&& if(code==16) //16位MD5加密(取32位加密的9~25字符)
&&&&&& return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,&MD5&).ToLower().Substring(8,16) ;
&& else//32位加密
&&&&&& return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,&MD5&).ToLower();
&&& 四、做一个网站时,必然涉及用户登录,用户登录必然涉及密码,密码必然涉及安全,安全必然涉及加密。
加密现时最流行也是据说最安全的算法是MD5算法,MD5是一种不可逆的算法,也就是 明文经过加密后,根据加密过的密文无法还原出明文来。
目前有好多网站专搞MD5破密,百度上搜一下MD5就搜出一大堆了,今天早上无聊试了几个破密网站,6位以内纯数字密码的MD5密文可以还原出明文,长点的或带字符的就不行了。他们是采用穷举对比的,就是说把收录到的明文和密文放到数据库里,通过密文的对比来确定明文,毕竟收录的数据有限,所以破解的密码很有限。
扯远了,搞破密MD5需要大量的MONEY,因为要一个运算得超快的计算机和一个查找性能超好的数据库和超大的数据库收录。但搞加密就比较简单。以下是我用C#写的一个MD5加密的方法,用到.NET中的方法, 通过MD5_APP.StringToMD5(string str, int i)可以直接调用:
public class MD5_APP
&public MD5_APP()
&&& public static string StringToMD5(string str, int i)
&&&&&&& //获取要加密的字段,并转化为Byte[]数组
&&&&&&& byte[] data = System.Text.Encoding.Unicode.GetBytes(str.ToCharArray());
&&&&&&& //建立加密服务
&&&&&&& System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
&&&&&&& //加密Byte[]数组
&&&&&&& byte[] result = puteHash(data);
&&&&&&& //将加密后的数组转化为字段
&&&&&&& if (i == 16 && str != string.Empty)
&&&&&&&&&&& return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, &MD5&).ToLower().Substring(8, 16);
&&&&&&& else if (i == 32 && str != string.Empty)
&&&&&&&&&&& return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, &MD5&).ToLower();
&&&&&&& else
&&&&&&&&&&& switch (i)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& case 16: return &000&;
&&&&&&&&&&&&&&& case 32: return &000000&;
&&&&&&&&&&&&&&& default: return &请确保调用函数时第二个参数为16或32&;
&&&&&&&&&&& }
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:147820次
积分:2991
积分:2991
排名:第6779名
原创:156篇
转载:10篇
评论:47条
(2)(1)(1)(4)(1)(1)(2)(6)(1)(1)(8)(28)(19)(26)(10)(7)(4)(14)(20)(6)(4)(1)查看: 1162|回复: 10
UID269620注册时间最后登录在线时间101 小时阅读权限30积分334精华0
红盟学员, 积分 334, 距离下一级还需 366 积分
TA的每日心情开心 09:15:47签到天数: 156 天[LV.7]常住居民III金钱1323 UID269620注册时间最后登录在线时间101 小时阅读权限30积分334精华0
今天用明小子扫一个网站的后台账户和密码的时候。账户出来了,但是密文出来的是16位的这个:fb7508&&弱弱的问一下,标准的MD5密文不是32位吗?这个跑出来的16位密文是什么情况呢?难不成这个不是MD5密文。还是怎么样?哪个高手知道的,麻烦帮忙给解密一下。拜谢。
UID293761注册时间最后登录在线时间97 小时阅读权限30积分488精华0
红盟学员, 积分 488, 距离下一级还需 212 积分
TA的每日心情擦汗 20:00:24签到天数: 203 天[LV.7]常住居民III金钱2061 UID293761注册时间最后登录在线时间97 小时阅读权限30积分488精华0
好几个MD5 站都木有。。。。
UID320294注册时间最后登录在线时间113 小时阅读权限50积分796精华0
红盟成员, 积分 796, 距离下一级还需 1204 积分
TA的每日心情无聊 21:04:30签到天数: 119 天[LV.6]常住居民II金钱1837 UID320294注册时间最后登录在线时间113 小时阅读权限50积分796精华0
完全不懂啊、
爷自横刀向天笑,去留无影鬼见愁
UID230294注册时间最后登录在线时间15 小时阅读权限20积分85精华0
红盟菜鸟, 积分 85, 距离下一级还需 65 积分
TA的每日心情无聊 01:11:36签到天数: 30 天[LV.5]常住居民I金钱336 UID230294注册时间最后登录在线时间15 小时阅读权限20积分85精华0
不懂!!!!!!!!!!
UID164529注册时间最后登录在线时间257 小时阅读权限30积分632精华0
红盟学员, 积分 632, 距离下一级还需 68 积分
TA的每日心情怒 14:09:22签到天数: 114 天[LV.6]常住居民II金钱1788 UID164529注册时间最后登录在线时间257 小时阅读权限30积分632精华0
我帮你看解密了一下&&没解密到& &不好意思
<p id="rate_620" onmouseover="showTip(this)" tip="辛苦了。呵呵。&金钱 + 5
" class="mtn mbn">
&img src=&static/image/smiley/comcom/3.gif ...
UID269620注册时间最后登录在线时间101 小时阅读权限30积分334精华0
红盟学员, 积分 334, 距离下一级还需 366 积分
TA的每日心情开心 09:15:47签到天数: 156 天[LV.7]常住居民III金钱1323 UID269620注册时间最后登录在线时间101 小时阅读权限30积分334精华0
木事。虽然没解出来,不过还是要谢谢你。我再想想别的办法吧。
UID299972注册时间最后登录在线时间99 小时阅读权限30积分622精华0
红盟学员, 积分 622, 距离下一级还需 78 积分
TA的每日心情衰 01:46:15签到天数: 207 天[LV.7]常住居民III金钱1835 UID299972注册时间最后登录在线时间99 小时阅读权限30积分622精华0
这个不太好解,我刚才也是去解了呀,也是没有接出来。哎
到了国亲节,看到身边 ...
UID164529注册时间最后登录在线时间257 小时阅读权限30积分632精华0
红盟学员, 积分 632, 距离下一级还需 68 积分
TA的每日心情怒 14:09:22签到天数: 114 天[LV.6]常住居民II金钱1788 UID164529注册时间最后登录在线时间257 小时阅读权限30积分632精华0
不用说谢谢!应该是我们共同学习 交流
&img src=&static/image/smiley/comcom/3.gif ...
UID309040注册时间最后登录在线时间21 小时阅读权限30积分170精华0
红盟学员, 积分 170, 距离下一级还需 530 积分
TA的每日心情郁闷 01:16:06签到天数: 70 天[LV.6]常住居民II金钱654 UID309040注册时间最后登录在线时间21 小时阅读权限30积分170精华0
完全看不懂
UID320353注册时间最后登录在线时间32 小时阅读权限20积分51精华0
红盟菜鸟, 积分 51, 距离下一级还需 99 积分
TA的每日心情怒 09:50:53签到天数: 56 天[LV.5]常住居民I金钱489 UID320353注册时间最后登录在线时间32 小时阅读权限20积分51精华0
打酱油的,拿经验走人
UID133822注册时间最后登录在线时间64 小时阅读权限30积分248精华0
红盟学员, 积分 248, 距离下一级还需 452 积分
TA的每日心情衰 01:00:06签到天数: 97 天[LV.6]常住居民II金钱953 UID133822注册时间最后登录在线时间64 小时阅读权限30积分248精华0
解不开。。。。。。。。坐等高手
道,可道,
Powered byMD5在线破解, MD5加密解密, MD5 Crack, MD5 Encrypt, .cn本站专业提供信息安全、网络安全和密码算法咨询服务, 我们拥有成熟的加密平台和密码产品, 为企业信息安全助力!
拥有数据加密保护解决方案, 为企业提供信息安全, 数据安全的咨询服务和成熟产品, 保护您企业的重要信息, 欢迎与我们联系。
享有GINS-256 Hash函数的独立设计版权, 还致力于密码学研究和在线密码学工具开发,研究分布式计算, 云计算技术, 可信计算平台, 安全多方计算, 数字签名, CA认证应用, Hash函数的设计与分析, 分组密码和公钥密码的设计与分析。系统升级中,WooSa!站长广告位xCrypt - 企业级数据安全解决方案, 服务器端授权module,php加密扩展so和客户端解密dll整套企业数据安全解决方案.
数据及程序与硬件绑定,高效稳定,妈妈再也不用担心我被拖库!
手机: MD5 Crack For Cryptography Research. MD5, MD5 Collision, MD5 Reverse, DES, SHA, RSA, Secure Multi-Party Computation, Cryptography, Encryption, Decryption & Hash Cracker. Keep up with
Eurocrypt, Crypto, Asiacrypt, PKC, FSE, RSA, CHES. 220.177.198.53, 0.0198
Copyright&2008
All Rights Reserved.

我要回帖

更多关于 16位密码解密 的文章

 

随机推荐