• python之MD5加密


    一、 MD5加密
    import hashlib #Python3里的引用
    #import md5 #Python2里的引用

    1. md5是不可逆的,不能解密
    2. 所有语言生成的md5串都是一样的

    3. 不论字符串多长,生成的md5是等长的

    4. 彩虹表:存的所有常用的加密后的密码对应的md5

    5. 解密查询,只能解密常用字符:https://www.cmd5.com/

    import hashlib
    #import md5 #Python2里的引用
    s='123456'
    # s.encode()#变成bytes类型才能加密
    m= hashlib.md5(s.encode())
    print(m.hexdigest())
    
    m=hashlib.sha3_224(s.encode()) #长度是224
    print(m.hexdigest())
    
    m=hashlib.sha3_256(s.encode())  #长度是256
    print(m.hexdigest())
    
    m=hashlib.sha3_512(s.encode()) #长度是512
    print(m.hexdigest())
    #输出结果
    e10adc3949ba59abbe56e057f20f883e
    6be790258b73da9441099c4cb6aeec1f0c883152dd74e7581b70a648
    d7190eb194ff9494625514b6d178c87f99c5973e28c398969d2233f2960a573e
    64d09d9930c8ecf79e513167a588cb75439b762ce8f9b22ea59765f32aa74ca19d2f1e97dc922a3d4954594a05062917fb24d1f8e72f2ed02a58ed7534f94d27

    二、 加盐

    加盐是在用户密码加密后,可以再加一个指定的字符串,再次加密,这样,用户密码被破解的概率极低了

    #如密码是123456:
    random_str='dsfka676f9a78#$%^' #盐的值
    #加盐后,密码变为: 123456dsfka676f9a78#$%^

    如要加密,可调用如下函数:

    import hashlib
    def my_md5(s,salt=''):      #加盐,盐的默认值是空
        s=s+salt
        news=str(s).encode()    #先变成bytes类型才能加密
        m=hashlib.md5(news)     #创建md5对象
        return m.hexdigest()    #获取加密后的字符串
     
  • 相关阅读:
    使用iconv编程进行字符集转换
    Unity3D学习之路 C#学习笔记(一)
    跨平台的游戏客户端Socket封装
    TCP长连接与短连接的区别
    C++中的long long和__int64类型
    基于cocos2dx的游戏客户端优化
    Android NDK带来什么
    strcpy_s与strcpy的比较
    英文字母和中文汉字在不同字符集编码下的字节数
    socket的read和recv函数的区别
  • 原文地址:https://www.cnblogs.com/denise1108/p/10095042.html
Copyright © 2020-2023  润新知