zoukankan      html  css  js  c++  java
  • Security and Cryptography in Python

    Security and Cryptography in Python - HMAC

    image-20210307102233320

    Implement in Python

    import hashlib
    
    # Alice and Bob share a secret key
    secret_key = "secret key".encode()
    
    # Alice wants to compute a MAC
    m = "Hey Bob. You are still awesome.".encode()
    sha256 = hashlib.sha256()
    sha256.update(secret_key)
    sha256.update(m)
    hmac = sha256.digest()
    
    print(m, hmac)
    
    # Bob receives and validates the HMAC
    sha256 = hashlib.sha256()
    sha256.update(secret_key)
    sha256.update(m)
    hmac = sha256.digest()
    print(m, hmac)
    

    Running Result:

    image-20210307103809072

    What happens if Eve modifies a message.

    import hashlib
    
    
    def modify(m):
        l = list(m)
        l[0] = l[0] ^ 1
        return bytes(l)
    
    
    # Alice and Bob share a secret key
    secret_key = "secret key".encode()
    
    # Alice wants to compute a MAC
    m = "Hey Bob. You are still awesome.".encode()
    sha256 = hashlib.sha256()
    sha256.update(secret_key)
    sha256.update(m)
    hmac = sha256.digest()
    print(m, hmac)
    
    # Eve comes along
    m = modify(m)
    print(m)
    
    # Bob receives and validates the HMAC
    sha256 = hashlib.sha256()
    sha256.update(secret_key)
    sha256.update(m)
    hmac = sha256.digest()
    print(m, hmac)
    
    

    Running Result:

    image-20210307104305678

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    nopCommerce 2.60 之实现产品规格属性分组筛选
    chromedriver的使用
    linux 服务器发现了挖矿病毒
    C++day11 学习笔记
    C++day08 学习笔记
    C++day10 学习笔记
    C++day07 学习笔记
    C++day06 学习笔记
    C++day04 学习笔记
    C++day02 学习笔记
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/14493840.html
Copyright © 2011-2022 走看看