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("输入错误")
  • 相关阅读:
    javascript中 分号的问题
    IIFE(立即执行函数表达式)
    函数_回调函数
    数据_变量_内存
    严格区别变量类型与数据类型
    什么时候给变量赋值为null
    JavaScript Promise迷你书(中文版)
    python txt文件读写(追加、覆盖)
    python re:正向肯定预查(?=)和反向肯定预查(?<=)
    python re:正则表达式中使用变量
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13697559.html
Copyright © 2011-2022 走看看