lib/rbnacl/password_hash/scrypt.rb in rbnacl-3.1.2 vs lib/rbnacl/password_hash/scrypt.rb in rbnacl-3.2.0

- old
+ new

@@ -17,34 +17,33 @@ # on GPUs or FPGAs) with additional computation. class SCrypt extend Sodium begin - sodium_type :pwhash + sodium_type :pwhash sodium_primitive :scryptsalsa208sha256 sodium_constant :SALTBYTES - sodium_function :scrypt, - :crypto_pwhash_scryptsalsa208sha256, - [:pointer, :ulong_long, :pointer, :ulong_long, :pointer, :ulong_long, :size_t] + sodium_function :scrypt, + :crypto_pwhash_scryptsalsa208sha256, + [:pointer, :ulong_long, :pointer, :ulong_long, :pointer, :ulong_long, :size_t] - - # Create a new SCrypt password hash object # # @param [Integer] opslimit the CPU cost (e.g. 2**20) # @param [Integer] memlimit the memory cost (e.g. 2**24) # # @return [RbNaCl::PasswordHash::SCrypt] An SCrypt password hasher object def initialize(opslimit, memlimit, digest_size = 64) # TODO: sanity check these parameters - @opslimit, @memlimit = opslimit, memlimit + @opslimit = opslimit + @memlimit = memlimit # TODO: check digest size validity - #raise LengthError, "digest size too short" if @digest_size < BYTES_MIN - #raise LengthError, "digest size too long" if @digest_size > BYTES_MAX + # raise LengthError, "digest size too short" if @digest_size < BYTES_MIN + # raise LengthError, "digest size too long" if @digest_size > BYTES_MAX @digest_size = digest_size end # Calculate an scrypt digest for a given password and salt @@ -55,14 +54,14 @@ # @return [String] scrypt digest of the string as raw bytes def digest(password, salt) digest = Util.zeros(@digest_size) salt = Util.check_string(salt, SALTBYTES, "salt") - self.class.scrypt(digest, @digest_size, password, password.bytesize, salt, @opslimit, @memlimit) || raise(CryptoError, "scrypt failed!") + self.class.scrypt(digest, @digest_size, password, password.bytesize, salt, @opslimit, @memlimit) || fail(CryptoError, "scrypt failed!") digest end rescue FFI::NotFoundError - def initialize(opslimit, memlimit, digest_size = 64) + def initialize(_opslimit, _memlimit, _digest_size = 64) raise NotImplementedError, "scrypt not implemented in this version of libsodium" end end end end