Merge pull request #20 from chronic-labs/pwhash
Params pwhash_str_verify/2 as iodata() and adding test
This commit is contained in:
commit
405045bf5c
@ -1300,7 +1300,7 @@ ERL_NIF_TERM enif_crypto_pwhash_str_verify(ErlNifEnv *env, int argc, ERL_NIF_TER
|
|||||||
// Validate the arguments
|
// Validate the arguments
|
||||||
if( (argc != 2) ||
|
if( (argc != 2) ||
|
||||||
(!enif_inspect_binary(env, argv[0], &h)) ||
|
(!enif_inspect_binary(env, argv[0], &h)) ||
|
||||||
(!enif_inspect_binary(env, argv[1], &p)) ) {
|
(!enif_inspect_iolist_as_binary(env, argv[1], &p)) ) {
|
||||||
return enif_make_badarg(env);
|
return enif_make_badarg(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -456,6 +456,44 @@ prop_sign_open() ->
|
|||||||
badargs(fun() -> enacl:sign_open(SignMsg, PK) end)
|
badargs(fun() -> enacl:sign_open(SignMsg, PK) end)
|
||||||
end)).
|
end)).
|
||||||
|
|
||||||
|
%% PWHASH
|
||||||
|
%% -------------------------------
|
||||||
|
|
||||||
|
pwhash(Passwd, Salt) ->
|
||||||
|
try
|
||||||
|
enacl:pwhash(Passwd, Salt)
|
||||||
|
catch
|
||||||
|
error:badarg -> badarg
|
||||||
|
end.
|
||||||
|
|
||||||
|
pwhash_str(Passwd) ->
|
||||||
|
try
|
||||||
|
enacl:pwhash_str(Passwd)
|
||||||
|
catch
|
||||||
|
error:badarg -> badarg
|
||||||
|
end.
|
||||||
|
|
||||||
|
pwhash_str_verify(PasswdHash, Passwd) ->
|
||||||
|
try
|
||||||
|
enacl:pwhash_str_verify(PasswdHash, Passwd)
|
||||||
|
catch
|
||||||
|
error:badarg -> badarg
|
||||||
|
end.
|
||||||
|
|
||||||
|
prop_pwhash_str_verify() ->
|
||||||
|
?FORALL({Passwd},
|
||||||
|
{?FAULT_RATE(1, 40, g_iodata())},
|
||||||
|
begin
|
||||||
|
case v_iodata(Passwd) of
|
||||||
|
true ->
|
||||||
|
{K, P} = enacl:pwhash_str(Passwd),
|
||||||
|
S = enacl:pwhash_str_verify(P, Passwd),
|
||||||
|
equals(S, true);
|
||||||
|
false ->
|
||||||
|
badargs(fun() -> enacl:pwhash_str_verify(Passwd) end)
|
||||||
|
end
|
||||||
|
end).
|
||||||
|
|
||||||
%% CRYPTO SECRET BOX
|
%% CRYPTO SECRET BOX
|
||||||
%% -------------------------------
|
%% -------------------------------
|
||||||
|
|
||||||
|
@ -316,7 +316,7 @@ generichash_final({hashstate, HashSize, HashState}) ->
|
|||||||
pwhash(Password, Salt) ->
|
pwhash(Password, Salt) ->
|
||||||
enacl_nif:crypto_pwhash(Password, Salt).
|
enacl_nif:crypto_pwhash(Password, Salt).
|
||||||
|
|
||||||
%% @doc pwhash_str_verify/2 generates a ASCII encoded hash of a password
|
%% @doc pwhash_str/1 generates a ASCII encoded hash of a password
|
||||||
%%
|
%%
|
||||||
%% This function generates a fixed size, salted, ASCII encoded hash of a user defined password.
|
%% This function generates a fixed size, salted, ASCII encoded hash of a user defined password.
|
||||||
%% @end
|
%% @end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user