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

    Security and Cryptography in Python - Hash Functions(3)

    How password are Verified

    https://docs.python.org/3/library/hashlib.html

    https://en.wikipedia.org/wiki/PBKDF2

    import hashlib
    import base64
    
    iterations = 45454
    salt = base64.b64decode("6VuJKkHVTdDelbNMPBxzw7INW2NkYlR/LoW40L7kVAI=".encode())
    #SALTED-SHA512-PBKDF2
    
    password = "password".encode()
    
    value = hashlib.pbkdf2_hmac("sha512", password, salt, iterations, dklen=128)
    print(base64.b64encode(value))
    

    Running Result:

    image-20210302204214142

    Why use Salt - to avoid other body see that you use the same password with them.
    import hashlib
    import base64
    
    iterations = 45454
    salt = base64.b64decode("6VuJKkHVTdDelbNMPBxzw7INW2NkYlR/LoW40L7kVAI=".encode())
    validation = "SALTED-SHA512-PBKDF2"
    
    password = "password".encode()
    
    value = hashlib.pbkdf2_hmac("sha512", password, salt, iterations, dklen=128)
    entropy = base64.b64encode(value)
    print("Alice", validation, salt, iterations, entropy)
    
    salt = "666".encode()
    password = "password".encode()
    value = hashlib.pbkdf2_hmac("sha512", password, salt, iterations, dklen=128)
    entropy = base64.b64encode(value)
    print("Bob", validation, salt, iterations, entropy)
    

    Running result:

    image-20210302210043656

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    7.12.2
    7.12.1
    7.11.8
    循环测试条件前缀和后缀的区别
    7.11.7 两个版本
    7.11.5
    7.12 vowels.c 程序
    7.11 animals.c 程序
    7.6.2 break 语句
    7.10 break.c 程序
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/14471154.html
Copyright © 2011-2022 走看看