• 关于MD5解密网站。www.cmd5.com


    第一次听说这个网站,本人的名字居然也能够被解密,而且还是需要付费取得明文!

    大家知道,md5加密是我们常用的加密方式,这个加密方式的好处在于不可逆。而且任何环境下算出的密文应该都是相同的,所以在大家登录的时候,基本上你的密码都是用md5加密的方式存在数据库中。下次你再登录的时候,按照你输入的密码明文再次计算md5密码,再与数据库中存储的密文比较,只要密文相同,那么密码就是正确的。这种存储方式的好处是任何人都不可能看到你的密码明文,因为就算是数据库的维护人员能看到的也只是加密后的密文。只要任何人看不到你的密码明文,并且密文不可逆,那么我们认为密码就是安全的。但是这个网站居然能够按照密文查询明文,而且某些内容还收费。

    python中md5加密的实现:

    import hashlib  # 导入模块

    s = input('请输入你的加密内容:')  # 输入加密内容

    r = s.encode('utf-8)  # md5需要使用字节码,把需要加密的内容编码为字节码

    obj = hashlib.md5()  # 实例化一个md5对象

    obj.update(s)  # 计算md5密文

    re = obj.hexdigest()  # 获取加密后的密文

    print(re)  # 打印密文

    就是这个打印出来的密文,在这个网站,可以查询到相应的明文。

    这个网站并不是解密md5密码,因为md5密码确实是不可解密的。这个网站只是把许多常用的字符串的md5密码存起来,成为一个庞大的数据库,然后根据密码来查询对应的明文。也算投机的一种吧。生财有道。

    得到的建议就是,我们今后的密码尽量要多几位,尽量要有特殊字符,而且,密码还是要经常更换吧。比如,china,马上就能查出来,但是#china*19491001#就查不出来,但是网站的口号是最多五天就能查出来。

    以上,切记切记。

    哈哈,被吓住了吧?

    其实,在obj = hashlib.md5()  # 实例化一个md5对象  这个语句中,括号中的内容至关重要。就是我们所谓的加盐。

    obj = hashlib.md5(b'the winter is coming.try to save yourself.')

    为社么要加盐?因为没法再去收集常用短语的md5,没用。因为这个所谓的盐可以变化,盐变了,同一个明文的md5值肯定变了。这样就基本上杜绝了上述网站的作用。

    盐可以是ascii码字符串,长短不限,我想用的是,我认为一段较长的写的很好的英文文章。

    盐虽然好,但是咸啊!同一套md5的盐必须是唯一的。所以这里的盐至关重要。要保存好,而且不能变。盐变了,md5的值就变了,那你 以前的md5值就都没用了。

  • 相关阅读:
    开发新技术展望系列课程(视频课程讲师:徐晓卓)
    VSTS风暴系列课程(视频课程讲师:王京京/王兴明/王然)
    Mysql索引的数据结构及索引优化
    CAP原则,分布式场景下为何只能取其二
    为什么使用Redission解决高并发场景分布式锁问题
    Java面试题(6)Redis
    外企英语面试常见问题及核心话术
    Nacos&Eureka&Zookeeper
    j2ee中DAO设计模式
    第一个随笔
  • 原文地址:https://www.cnblogs.com/wjywinner/p/10319752.html
Copyright © 2020-2023  润新知