# Using the built in hash() function in Python, which will return an integer.
my_int = 65244
my_string = "Hello World!"
print(hash(my_int)) # Returns 65244, because it was an int originally.
print(hash(my_string)) # Returns a long integer, such as -8213909634957577290
"""
PLEASE NOTE:
The hash() function will return the same result each time it is
executed with the same string, until you stop the code. Each time you run the
script, the results will differ.
For example, the following would return True:
"""
hash("Hello") == hash("Hello")
"""
However, the exact value will change each time you rerun the program.
The only way to stop it is to ctreate an environment variable called
PYTHONHASHSEED, and set it to an integer.
That way, it will not generate a new random seed every time you run the script.
"""
import hashlib
name = "grepper"
hashed_name = hashlib.sha256(hashed_name.encode('utf-8')).hexdigest())
print(hashed_name)
# result: 82475175ad97f60d1e2c57ef5fd8ae45629d555e1644d6f2a37b69b550a96e95
# hash for integer unchanged
print('Hash for 181 is:', hash(181))
# hash for decimal
print('Hash for 181.23 is:',hash(181.23))
# hash for string
print('Hash for Python is:', hash('Python'))
from hashlib import blake2b
import time
k = str(time.time()).encode('utf-8')
h = blake2b(key=k, digest_size=16)
h.hexdigest()