zoukankan      html  css  js  c++  java
  • hashlib模块

    hashlib
    hash是什么?
    是一种算法
    用于将任意长度的数据,压缩映射到一段固定长度的字符 (提取特征)

    hash的特点:
    1.输入数据不同,得到的hash值有可能相同
    2.不能通过hash值来得到输入的值
    3.如果算法相同,无论输入的数据长度是多少,得到的hash值长度相同

    常用的MD5就是一种hash算法    
    常用的提升安全性的手段 就是  加盐
    就是把你加密前的数据做一些改动 例如 把顺序反过来
    import hashlib
    m = hashlib.md5()
    m.update(b'123')
    m.hexdigest()
    '202cb962ac59075b964b07152d234b70'
    
    # 或者可以这样
    hashlib.md5(b'123').hexdigest()
    '202cb962ac59075b964b07152d234b70'
    
    # 也可以使用hash.new()这个一般方法
     hashlib.new('md5', b'123').hexdigest()
    '202cb962ac59075b964b07152d234b70'

    中文:
    import hashlib
    md = hashlib.md5()
    md.update("hello你这么牛逼吗 你破解我试试? DSB".encode("utf-8"))
    print(md.hexdigest())
    # 破解MD5可以尝试撞库   原理: 有一个数据库 里面存放了常见的明文和密文的对应关系

    # 加密实际上能做的就是让黑客的的破解成本大于他的利润
    for i in pwd_dic:
        if pwd_dic[i] == "5d41402abc4b2a76b9719d911017c592":
    print(i)

  • 相关阅读:
    1.2 偏差与方差
    深度学习中Xavier初始化
    1.1 训练/开发/测试集
    Python笔记(5)类__方法与继承
    Python笔记(4)类__属性与描述符
    Python笔记(3)迭代器与生成器
    Python笔记(2)函数
    线性回归 Linear Regression
    Python笔记(1)变量与表达式
    跳转到某个Activity
  • 原文地址:https://www.cnblogs.com/liu--huan/p/9471390.html
Copyright © 2011-2022 走看看