• 6-1 md5加密


    1、导入hashlib模块,使用它的md5方法进行加密

     1 import hashlib  # import md5 python2
     2 
     3 s = 'admin123'
     4 
     5 # 1、将字符串类型转换成byte类型才能加密
     6 s = s.encode()
     7 
     8 # 2、将s进行md5加密处理
     9 m = hashlib.md5(s)
    10 
    11 # 3、输出加密后的值
    12 print(m.hexdigest())
    13 # 0192023a7bbd73250516f069df18b500

    2、使用其他的sha224,sha256,sha512的方式进行加密,加密更长,更安全

    import hashlib  # import md5 python2
    
    s = 'admin123'
    
    # 使用其他的sha224,sha256,sha512的方式进行加密,加密更长,更安全
    m = hashlib.sha224(s.encode())
    print(m.hexdigest())
    m = hashlib.sha256(s.encode())
    print(m.hexdigest())
    m = hashlib.sha512(s.encode())
    print(m.hexdigest())

    3、加盐--就是在需要加密的字符串中加入一部分固定的字符串后,在进行加密  更安全

    import hashlib  # import md5 python2
    
    # 在字符串前加上固定的字符
    random_str = 'hsy'
    s = 'admin123'
    s = random_str + s
    
    # 1、将字符串类型转换成byte类型才能加密
    s = s.encode()
    
    # 2、将s进行md5加密处理
    m = hashlib.md5(s)
    
    # 3、输出加盐加密后的值
    print(m.hexdigest())
    # f1bbcf42870c1019872d2f67b318e278

    4、md5加密是不可逆的,其他软件所谓的解密利用的是撞库的方法

    #因为同一字符串加密后的密文是相同的,有些软件将常用的明文对应的MD5加密后的密文存到数据库中
    #md5是不可逆的,就是没有办法解密的
    #撞库
    
    # 7d98f0c40d585721ea4a9b42ee00b3a0  123456
    # 0192023a7bbd73250516f069df18b500  admin123
    # 彩虹表

    5、md5加密函数

    def my_md5(s,salt=''):
        """ 转化成md5加密字符
    
        :param s: 输入的任意的字符串
        :param salt: 加盐 默认为空
        :return: 加密后的值
        """
        s = s+salt
        news = str(s).encode()
        m = hashlib.md5(news)
        return m.hexdigest()
  • 相关阅读:
    云题库错题分析
    数据库相关子查询
    阻止事件冒泡
    21分钟 MySQL 入门教程(转载!!!)
    java接口
    java访问修饰符
    小游戏,快速击键
    个人对Java中多态的一些简单理解
    简述抽象和封装,对你学习Java有一些作用
    Bank,我只是来完成作业的
  • 原文地址:https://www.cnblogs.com/hushaoyan/p/10101592.html
Copyright © 2020-2023  润新知