From d4a2a14bc9ebf15a326f2c69e4cc68a3acdcfcb8 Mon Sep 17 00:00:00 2001 From: daveed-al <33853903+daveed-al@users.noreply.github.com> Date: Thu, 1 Feb 2018 00:54:20 +0800 Subject: [PATCH] adding test for pwhash_str_verify --- eqc_test/enacl_eqc.erl | 45 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/eqc_test/enacl_eqc.erl b/eqc_test/enacl_eqc.erl index 3bc2987..ecb0bba 100644 --- a/eqc_test/enacl_eqc.erl +++ b/eqc_test/enacl_eqc.erl @@ -219,7 +219,7 @@ prop_box_failure_integrity() -> end end end). - + prop_seal_box_failure_integrity() -> ?FORALL({Msg, {PK1, SK1}}, {?FAULT_RATE(1,40,g_iodata()), ?FAULT_RATE(1,40,keypair())}, begin @@ -456,6 +456,49 @@ prop_sign_open() -> badargs(fun() -> enacl:sign_open(SignMsg, PK) end) end)). +%% PWHASH +%% ------------------------------- +% enacl:pwhash("password", enacl:randombytes(16)). +% {K, P} = enacl:pwhash_str("password"). +% enacl:pwhash_str_verify(P, "password"). +% enacl:pwhash_str_verify(P, <<"password">>). + +pwhash(Passwd, Salt) -> + try + enacl:pwhash(Passwd, Salt) + catch + error:badarg -> badarg + end. + +% pwhash +% pwhash_str +% pwhash_str_verify +% prop_pwhash() -> +% ?FORALL({Passwd, Salt}, +% {?FAULT_RATE(1, 40, g_iodata()), +% ?FAULT_RATE(1, 40, g_binary(16))}, +% begin +% case v_iodata(Passwd) andalso v_binary(16, Salt) of +% true -> +% {ok, PasswdHash} = enacl:pwhash(Passwd, Salt), +% equals(); + +% end). + +prop_pwhash_str_verify() -> + ?FORALL({PasswdHash, Passwd}, + {?FAULT_RATE(1, 40, g_binary(32)), + ?FAULT_RATE(1, 40, g_iodata())}, + begin + case v_binary(32, PasswdHash) andalso v_iodata(Passwd) of + true -> + Verify = enacl:pwhash_str_verify(PasswdHash, Passwd), + equals(true, Verify); + false -> + badargs(fun() -> enacl:pwhash_str_verify(PasswdHash, Passwd) end) + end + end). + %% CRYPTO SECRET BOX %% -------------------------------