def verify_hash

bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/argon2/password.bend:279

import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/argon2/password.bend as Password
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/argon2/argon2.bend as A2
import bend-collections-laws-crypto@1.0.0.0/src/crypto/password.bend as PW
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/argon2/phc.bend as PP

279# verify_password(pw, hash_password(pw, salt, params)) == True whenever
280# hash_password returns a string, for every salt of bytes below 256.
281def verify_hash(+pw: List<&2, U32>, +salt: List<&2, U32>, +params: PW.Params, +hs: {PP.ok(salt) == True{} : Bool}) -> {verified(pw, PW.hash_password(pw, salt, params)) == True{} : Bool}:
282  match params:
283    case PW.Params{+m, +t, +p, +tl, +sl}:
284      enc_ver(pw, salt, m, t, p, tl, A2.argon2id(pw, salt, Nil{}, Nil{}, t, m, p, tl), {==}, hs)

Uses (9)

Used by (1)