Im failing to understand how should i store hashed passwords with scrypt.
Here is the example:
import pyscrypt
hashed = pyscrypt.hash(password = b"password",
salt = b"seasalt",
N = 1024,
r = 1,
p = 1,
dkLen = 16)
print(hashed.hex()) #70ac953b777e24c4f41c4657eb9f03c2
hashed = pyscrypt.hash(password = b"password",
salt = b"seasalt",
N = 1024,
r = 2,
p = 1,
dkLen = 16)
print(hashed.hex()) #b00b951cd50675806c55d903dba9cbca
hashed = pyscrypt.hash(password = b"password",
salt = b"seasalt",
N = 1024,
r = 1,
p = 2,
dkLen = 16)
print(hashed.hex()) #7c3fa22552c8a9071da0e8c80a0a2767
In the example above we can see that hash is changed depending of parameter N, r, p
values.
Does that mean that i should save N, r, p
values too in database?
What should i do in the future when more powerful hardware will be available on the market? For example, ask users to change their password so new hashing function can be applied or something?