File: C:/Ruby27-x64/share/ri/2.7.0/system/OpenSSL/KDF/scrypt-c.ri
U:RDoc::AnyMethod[iI"scrypt:ETI"OpenSSL::KDF::scrypt;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"FDerives a key from _pass_ using given parameters with the scrypt ;TI"Qpassword-based key derivation function. The result can be used for password ;TI"
storage.;To:RDoc::Markup::BlankLine o;
; [I"Nscrypt is designed to be memory-hard and more secure against brute-force ;TI"Lattacks using custom hardwares than alternative KDFs such as PBKDF2 or ;TI"bcrypt.;T@o;
; [I"QThe keyword arguments _N_, _r_ and _p_ can be used to tune scrypt. RFC 7914 ;TI"R(published on 2016-08, https://tools.ietf.org/html/rfc7914#section-2) states ;TI"Athat using values r=8 and p=1 appears to yield good results.;T@o;
; [I"MSee RFC 7914 (https://tools.ietf.org/html/rfc7914) for more information.;T@S:RDoc::Markup::Heading:
leveli: textI"Parameters;To:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"pass ;T; [o;
; [I"Passphrase.;To;;[I"salt ;T; [o;
; [I"
Salt.;To;;[I"N ;T; [o;
; [I":CPU/memory cost parameter. This must be a power of 2.;To;;[I"r ;T; [o;
; [I"Block size parameter.;To;;[I"p ;T; [o;
; [I"Parallelization parameter.;To;;[I"length ;T; [o;
; [I")Length in octets of the derived key.;T@S;;
i;I"Example;To:RDoc::Markup::Verbatim; [ I"pass = "password"
;TI"*salt = SecureRandom.random_bytes(16)
;TI"Rdk = OpenSSL::KDF.scrypt(pass, salt: salt, N: 2**14, r: 8, p: 1, length: 32)
;TI",p dk #=> "\xDA\xE4\xE2...\x7F\xA1\x01T";T:@format0:
@fileI"ext/openssl/ossl_kdf.c;T:0@omit_headings_from_table_of_contents_below0I"=KDF.scrypt(pass, salt:, N:, r:, p:, length:) -> aString
;T0[ I"(p1, p2 = {});T@TFI"KDF;TcRDoc::NormalModule00