using System;
using System.Text;
using System.Security.Cryptography;
namespace MD5
{
public class MD5
{
// 32 位
public static String Encrypt(String s)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(s);
bytes = md5.ComputeHash(bytes);
md5.Clear();
string ret = "";
for (int i = 0; i bytes.Length; i++)
{
ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0');
}
return ret.PadLeft(32, '0');
}
// 16 位
public static string Encrypt16(string ConvertString)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
t2 = t2.Replace("-", "");
return t2;
}
}
}
-------------------------------------
引用MD5命名空间
using MD5;
直接用MD5.Encrypt(textbox1.Text);即可加密;
MD5没有解密的算法,要不然就不用加密了,网上有一些解密的网站,有些能解密,有些解密不了,有些还需要收费才能解密。
MD5,简单说就是加密算法,但是不能逆运算,所以不能通过逆向推导出密码,但是可以通过枚举的方法解密,思路就是把各种字符串组合进行加密,然后把原密码和加密密码都存进数据库,要解密的时候就在数据库搜。网上有这些解密网站,你也可以自己弄个这样的数据库
MD5解密方法\x0d\x0a我在存储数据库的时候,通过md5加密方法将字段进行加密,当我在读取该字段时如何正确的读取原来的值啊\x0d\x0a------解决方案--------------------\x0d\x0a没办法,MD5是不可逆的。\x0d\x0a你需要使用可逆加密算法。\x0d\x0a------解决方案--------------------\x0d\x0a插入表中的时候md5加密\x0d\x0a比如:\x0d\x0a$sql= "insert into register(names,pswd,repswd) values( '$_POST[names] ',md5( '$_POST[pswd] '),md5( '$_POST[repswd] ')) ";\x0d\x0a$qid=mysql_query($sql);\x0d\x0a读取的时候\x0d\x0a$pswd=empty($_POST[ 'pswd '])? ' ':md5($_POST[ 'pswd ']);\x0d\x0a------解决方案--------------------\x0d\x0a如果业务要求可还原,那么不要采用MD5,请使用可逆加密算法,如DES加密。\x0d\x0aMD5为不可逆散列算法,可用于存储用户密码,存储后不需要永远不需要知道明文。密码比较时只需将用户输入的密码再次转成MD5码与存储的相比较即可得知用户输入密码是否正确。\x0d\x0alinux/unix操作系统一般采用MD5进行用户密码加密。\x0d\x0a------解决方案--------------------\x0d\x0aMD5目前所谓的破解只是采用碰撞法找到了对等因子。\x0d\x0a比如:string1的MD5码为MD1,而现在我们做到的只是又找到了一个string2,它的MD5码也是MD1。\x0d\x0a结果就是:用户登陆某采用MD5加密的系统时,本来密码是12345,现在可能用abcde也能登陆。\x0d\x0a想想可能还原吗?如果可以还原,那天大的信息也能用32位长的字符串表示了,这不成了超级压缩算法了吗,整个宇宙的信息都可以用32位长表示了。不可逆的!
MD5是计算机加密算法(哈希算法),楼主的这条口令应该是32位大写的二次加密,其po解难度超出本屌的能力范围。 不过本屌友情建议,楼主把口令修改成123456的MD5 ,就可以登录了。
123456的MD5:E10ADC3949BA59ABBE56E057F20F883E。
123456的MD5二次加密:F59BD65F7EDAFB087A81D4DCA06C4910。