inst_pbkdf2.bend
bend-osdev-crypto@0.1.0.0 · 21 lines · 2 definitions
1
2
3
4
5
6
7
8
9import Base
10import bend-osdev-bytes@0.1.0.0/bytes.bend as B
11import bend-osdev-hashes@0.1.0.0/sha1.bend as S1
12import bend-osdev-crypto@0.1.0.0/crypto.bend as Cr
13import bend-osdev-crypto@0.1.0.0/hmac.bend as Hm
14import bend-osdev-crypto@0.1.0.0/pbkdf2.bend as Pb
15import bend-osdev-crypto@0.1.0.0/inst_sha2.bend as SH
16
17def CrPbkdf2.hmac_sha256(password: B.Octets, salt: B.Octets, c: U32, n: Nat) -> Result<&2, &2, Cr.CrError, B.Octets>:
18 Pb.CrPbkdf2.pbkdf2(~Hm.CrHmacKey, ~Hm.CrHmac.key_of(~64n, ~SH.CrSha2.sha256), ~Hm.CrHmac.mac(~SH.CrSha2.sha256), ~32n, password, salt, c, n)
19
20def CrPbkdf2.hmac_sha1(password: B.Octets, salt: B.Octets, c: U32, n: Nat) -> Result<&2, &2, Cr.CrError, B.Octets>:
21 Pb.CrPbkdf2.pbkdf2(~Hm.CrHmacKey, ~Hm.CrHmac.key_of(~64n, ~S1.HsSha1.digest), ~Hm.CrHmac.mac(~S1.HsSha1.digest), ~20n, password, salt, c, n)