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()
  • 相关阅读:
    1、编写一个简单的C++程序
    96. Unique Binary Search Trees
    python 操作redis
    json.loads的一个很有意思的现象
    No changes detected
    leetcode 127 wordladder
    django uwsgi websocket踩坑
    you need to build uWSGI with SSL support to use the websocket handshake api function !!!
    pyinstaller 出现str error
    数据库的读现象
  • 原文地址:https://www.cnblogs.com/bigbox/p/11879667.html
Copyright © 2011-2022 走看看