zoukankan      html  css  js  c++  java
  • 多测师讲解pyhon__hashlib_高级讲师肖sir

    一、加密,加密成16进制的字符串

    # import hashlib  # 导入hashlib模块
    # md = hashlib.md5() # 获取一个md5加密算法对象
    # md.update('需要加密的字符'.encode('utf-8')) # 制定需要加密的字符串
    # print(md.hexdigest()) # 获取加密后的16进制字符串

    import hashlib
    md5 = hashlib.md5()
    md5.update('123 '.encode("utf-8"))
    md5.update('456'.encode("utf-8"))
    print(md5.hexdigest())

    很多用户喜欢用123456,888888,password这些简单的口令,黑客可以事先计算出这些常用口令的MD5值,得到一个反推表:
    如:
    'e10adc3949ba59abbe56e057f20f883e': '123456'
    '21218cca77804d2ba1922c33e0151105': '888888'
    '5f4dcc3b5aa765d61d8327deb882cf99': 'password'

    hashlib.md5("123456".encode("utf8")) #里边的salt内容则称之为加盐






    散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;(相当于对暗号)



     案例1:

    python hashlib md5算法加密用户密码登录程序

    import hashlib

    def md5(arg):
    '''
    用于把用户的密码加密
    '''
    md5 = hashlib.md5()
    md5.update(bytes(arg, encoding='utf-8'))
    return md5.hexdigest()
    def register(use1r,passwd):
    #用户注册的时候把密码加密添加到文件
    with open("db", 'a') as f:
    tmp = " " + user + "|"+ md5(passwd)
    f.write(tmp)
    return True
    def login(user,passwd):
    #用户登录时候认证
    with open('db','r') as f:
    for i in f:
    c = i.strip()
    s = c.split("|")
    if s[0]== user and s[1] == md5(passwd):
    return True
    sum = input("1登录 2注册:")
    if sum == "1"or sum == "2":
    user = input("请输入账号:")
    passwd = input("请输入密码:")
    if sum =="1":
    if login(user,passwd):
    print("登录成功")
    else:
    print("登录失败")
    if sum =="2":
    if register(user,passwd):
    print("注册成功")
    else:
    print("输入错误")
  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13697559.html
Copyright © 2011-2022 走看看