Security and Cryptography in Python - Hash Functions(3)

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

posted @ 2021-03-02 20:43  晨风_Eric  阅读(63)  评论(0)    收藏  举报