$ docker run --rm --name validator-libsodium-usage-ruby-rbnacl-argon2-pwhash-2732 -t --mount type=bind,src=/tmp/validator-status-libsodium-usage-ruby-rbnacl-argon2-pwhash,dst=/validator/status validator-libsodium-shared bash -lc 'set -euo pipefail /validator/tests/_shared/install_override_debs.sh exec /validator/tests/_shared/run_library_tests.sh "$@"' validator-testcase libsodium usage-ruby-rbnacl-argon2-pwhash -- bash -c 'PS4=$1; shift; set -x; source "$@"' validator-xtrace '__VALIDATOR_XTRACE__ ' /validator/tests/libsodium/tests/cases/usage/usage-ruby-rbnacl-argon2-pwhash.sh no override packages found; continuing with apt originals salt = ("\x10".b * RbNaCl::PasswordHash::Argon2::SALTBYTES) ops = RbNaCl::PasswordHash::Argon2::OPSLIMIT_INTERACTIVE mem = RbNaCl::PasswordHash::Argon2::MEMLIMIT_INTERACTIVE digest_len = 32 hash_a = RbNaCl::PasswordHash.argon2("correct password", salt, ops, mem, digest_len) raise "unexpected digest length: #{hash_a.bytesize}" unless hash_a.bytesize == digest_len hash_b = RbNaCl::PasswordHash.argon2("correct password", salt, ops, mem, digest_len) raise "argon2 not deterministic for same inputs" unless hash_a == hash_b hash_c = RbNaCl::PasswordHash.argon2("wrong password", salt, ops, mem, digest_len) raise "different passwords produced same hash" if hash_a == hash_c puts hash_a.unpack1("H*") ' 32077ee35e633542bd7e88349d3ee00970562d93899b9b7e67bda6c4f9d87513