zoukankan      html  css  js  c++  java
  • random 模块 && hashlib模块(md5加密)

    1.random模块

    1.获取0-9任意整数

    res = random.randint(1, 9)
    print(res)
    print(type(res))

    2. 获取0-1之间任意小数

    # res2 = random.random()
    # print(res2)

    3. 打乱  、 随机取

    # 洗牌
    # 将可迭代中的值进行乱序
    list1 = ['红桃A', '梅花A', '红桃Q', '方块K']
    random.shuffle(list1)
    print(list1)
    
    # 随机获取可迭代对象中的某一个值
    # list1 = ['红桃A', '梅花A', '红桃Q', '方块K']
    # res3 = random.choice(list1)
    # print(res3)

    4.例题; 

    # 需求: 随机验证码
    '''
    需求: 
        大小写字母、数字组合而成
        组合5位数的随机验证码
        
    前置技术:
        - chr(97)  # 可以将ASCII表中值转换成对应的字符
        # print(chr(101))
        - random.choice
    '''
    
    
    # 获取任意长度的随机验证码
    def get_code(n):
        code = ''
        # 每次循环只从大小写字母、数字中取出一个字符
        # for line in range(5):
        for line in range(n):
    
            # 随机获取一个小写字母
            res1 = random.randint(97, 122)
            lower_str = chr(res1)
    
            # 随机获取一个大写字母
            res2 = random.randint(65, 90)
            upper_str = chr(res2)          # 讲0-255之间的整数转化成响应字符
    
            # 随机获取一个数字
            number = str(random.randint(0, 9))
    
            code_list = [lower_str, upper_str, number]
    
            random_code = random.choice(code_list)
    
            code += random_code
    
        return code
    
    
    code = get_code(5)
    print(code)
    print(len(code))

    2.hashlib模块   (步骤:生成md5对象,加密update,加盐update,返回加密字符串hexdigest)

    1.特点

    # 1、什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值
    # 2、hash值的特点是:
    #2.1 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验
    #2.2 不能由hash值返解成内容=======》把密码做成hash值,不应该在网络传输明文密码
    #2.3 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的
    #基本用法
    import hashlib m=hashlib.md5()# m=hashlib.sha256() m.update('hello'.encode('utf8')) print(m.hexdigest()) #5d41402abc4b2a76b9719d911017c592

    #加盐
    import hashlib
    m = hashli.md5()
    m.update('密码'.encode('utf8')
    # 多加一个update 盐
    m.updtae('你猜啊哈哈哈'.encode('utf8'))
    return m.hexdigest()
  • 相关阅读:
    python os
    python random
    python 内置函数
    python 介绍,环境配置
    利用Python批量重命名文件夹下文件
    go语言学习基础-编译文件
    Django-on_delete
    Django]models中定义的choices 字典在页面中显示值
    Django-User
    12.1 flask基础之简单实用
  • 原文地址:https://www.cnblogs.com/bigbox/p/11879667.html
Copyright © 2011-2022 走看看