网上有很多md5在线加解密站,熟悉网络安全或者IT技术的朋友可能会比较熟悉。MD5是一种加密技术方法。MD5的全称是Message-digest Algorithm 5,也称为信息摘要算法。主要是用于保证信息传输的完整一致。
MD5由MIT计算机科学实验室和RSA Data Security Inc的Ronald L.Rivest于1990年代初开发,由MD2、MD3和MD4发展而来。其目的是在用数字签名软件对私钥进行签名之前,允许将大量信息“压缩”成安全格式(即将任意长度的字节串转换为一定长度的大整数)。
无论是MD2、MD4还是MD5,都需要获取随机长度的信息,生成128位的消息摘要。尽管这些算法的结构或多或少相似,但MD2的设计与MD4和MD5的设计完全不同,那是因为MD2是针对8位机器优化的,而MD4和MD5是针对32位计算机的。
我见过的都是算成 32 个字符的,也就是 128位。好像也有别的版本,可以得到 16 个字符,24个字符等等。MD5是摘要算法,是不可逆的。我觉得加密总得对应一个解密,可以得到原来的信息,但是MD5不可以,所以MD5不是加密。
怎么理解MD5加密不可逆?
MD5不是真正的解密,就是提前用MD5对一些密码进行加密,然后存入数据库。当用户需要破解密码时,再使用用户的MD5码在数据库中搜索。如果你能找到它,它就可以解密,会返回给你原来的密码。找不到就解密不了,所以说MD5是不可逆的。
MD5是面向32位,.NET用的是32位,MD5需要获得一个随机长度的信息并产生一个128位的信息摘要 MD5 类的 ComputeHash 方法将哈希作为 16 字节的数组返回。请注意,某些 MD5 实现会生成 32 字符的十六进制格式哈希。若要与此类。
通俗的讲,将一段密码截取掉一部分,剩下的那部分,你无法把他还原。例如:123456789,截取掉中间一部分456,剩下123789。当你在数据库拿到123789这串加密串时,你无法知道原来的密码是多少。
为什么我的密文没有解出来呢?
MD5值是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5值是它在MD4的基础上增加了"安全带"的概念,MD5比MD4复杂度大一些,但却更为安全。这个算法。
再假如我这段密文是:ba59abbe56e058dejw5edh,然后再尝试一次解密,如图所示:
所以,为什么你的没有解出来,很大可能是由于该站点的数据库没有相应的数据,无法解密。因为MD5是不可逆的,所以需要用散列穷举解密。md5解密网站全部基于彩虹表数据库,采用蓝光技术和集群服务器进行解密,前提也是在彩虹表库中存在的散列才能破解出来。