# PBKDF2
# From RFC 6070 - PBKDF2 with HMAC SHA-1
# SHA2 from https://github.com/brycx/Test-Vector-Generation/blob/master/PBKDF2/pbkdf2-hmac-sha2-test-vectors.md
# Test Case 1
Hash = SHA384
Plen = 8
Slen = 4
P = "password"
S = "salt"
c = 1
dkLen = 20
DK = c0e14f06e49e32d73f9f52ddf1d0c5c719160923
# Test Case 2
Hash = SHA384
Plen = 8
Slen = 4
P = "password"
S = "salt"
c = 2
dkLen = 20
DK = 54f775c6d790f21930459162fc535dbf04a93918
# Test Case 3
Hash = SHA384
Plen = 8
Slen = 4
P = "password"
S = "salt"
c = 4096
dkLen = 20
DK = 559726be38db125bc85ed7895f6e3cf574c7a01c
# Test Case 4
Hash = SHA384
Plen = 8
Slen = 4
P = "password"
S = "salt"
c = 16777216
dkLen = 20
DK = a7fdb349ba2bfa6bf647bb0161bae1320df27e64
# Test Case 5
Hash = SHA384
Plen = 24
Slen = 36
P = "passwordPASSWORDpassword"
S = "saltSALTsaltSALTsaltSALTsaltSALTsalt"
c = 4096
dkLen = 25
DK = 819143ad66df9a552559b9e131c52ae6c5c1b0eed18f4d283b
# Test Case 6
Hash = SHA384
Plen = 9
Slen = 5
P = "pass\0word"
S = "sa\0lt"
c = 4096
dkLen = 16
DK = a3f00ac8657e095f8e0823d232fc60b3
# Test Case 7
Hash = SHA384
Plen = 6
Slen = 4
P = "passwd"
S = "salt"
c = 1
dkLen = 128
DK = cd3443723a41cf1460cca9efeede428a8898a82d2ad4d1fc5cca08ed3f4d3cb47a62a70b3cb9ce65dcbfb9fb9d425027a8be69b53e2a22674b0939e5e0a682f76d21f449ad184562a3bc4c519b4d048de6d8e0999fb88770f95e40185e19fc8b68767417ccc064f47a455d045b3bafda7e81b97ad0e4c5581af1aa27871cd5e4
# Test Case 8
Hash = SHA384
Plen = 6
Slen = 4
P = "Password"
S = "NaCl"
c = 80000
dkLen = 128
DK = 11c198987730fa113458053cd5cc9b51d7024a35f9134f1ee8740923c901aab23bbaea43686981b6e6a9f4130a1401daeeec74060246ebac958f3cfc3c65579b6e3d08b94ade5fc257a6902a0a1664b8dbd5a8ae2af70438931d3f3679abffc7a17770582f1ee413cc0d9914ce5f8143c8a7dc9c43fbc31e3d41b2030fb73c02
# Test Case 9
Hash = SHA384
Plen = 6
Slen = 4
P = "Password"
S = "sa\0lt"
c = 4096
dkLen = 256
DK = cf6f194aaf4e970afea1f41169045029e34759e124a670b5f73053da552a190ad2d7085533b8b22901f0e3caeeb431ba673468f981352dfcbe517699db791777cf52346a460b093c59ea300fb18daee270e2ea8473806da1663cebe7438b51fe56ba832c13d88ad5b2e46404457c34cc6ad8e5cd8707a1acfa737f3617628a5983d8d10fa16a92652cfa736d4610132710a517c216cc3252e6c2b8aae0275d04a49756fa5bf1bb067bc367d1b8c80c3df7dc22ee74b4be4150871624bfdde3f86f5fbd4e0828af7d5a4f01b5605e54471435d827eaecf199db315ae60d1a6350105c0e1a71b40518a4a66ebba4792a511f8f52aeac961ebea215f8fb89ba998b