• 验证客户端合法性


    验证客户端合法性

    背景

    • 客户端是提供给用户用的 —— 登陆验证
      • 你的用户就能看到你的client源码
      • 不需要自己写客户端了
    • 客户端是提供给机器使用

    代码的实现

    #server端
    import socket
    import hashlib
    import os
    
    key = b"yang" #密钥
    
    sk = socket.socket()
    sk.bind(("127.0.0.1",9000))
    sk.listen()
    conn, addre =sk.accept()
    
    num = os.urandom(32) #生成32位的随机字节串
    conn.send(num)
    
    md5 = hashlib.md5(key) #动态加盐
    md5.update(num) #哈希运算
    ret = md5.hexdigest()
    
    info = conn.recv(1024).decode("utf-8")
    if info == ret:
        print("验证成功")
    else:
        print("验证失败")
    
    conn.close()
    sk.close()
    
    
    #client端
    #随机字符串+密钥,客户端与服务器进行相同的算法(哈希运算)
    import socket
    import hashlib
    key =b"yang"
    
    sk = socket.socket()
    sk.connect(("127.0.0.1",9000))
    num = sk.recv(1024)
    
    md5 = hashlib.md5(key) #动态加盐
    md5.update(num) #哈希运算
    ret = md5.hexdigest()
    sk.send(ret.encode("utf-8"))
    
    sk.close()
    
    记录学习的点点滴滴
  • 相关阅读:
    sql server mdx
    mysql 按照 汉字的第一个拼音排序
    转,mysql的select * into
    mysql 日期的操作
    google 地图api
    ip_test
    AJAX (转w3cschool)
    jquery ajax 失败
    安装AdventureWorks2008R2示例数据库
    弹出新的网页窗口 js
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/14867602.html
Copyright © 2020-2023  润新知