Method deprecated or moved
This method is deprecated or moved on the latest stable version.
The last existing version (v2_4_6) is shown here.
pbkdf2_hmac(p1, p2, p3, p4, p5)
public
Parameters
-
pass - string
-
salt - string - should be at least 8 bytes long.
-
iter - integer - should be greater than 1000. 20000 is better.
-
keylen - integer
-
digest - a string or OpenSSL::Digest object.
Available in OpenSSL >= 1.0.0.
Digests other than SHA1 may not be supported by other cryptography
libraries.
static VALUE
ossl_pkcs5_pbkdf2_hmac(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE keylen, VALUE digest)
{
VALUE str;
const EVP_MD *md;
int len = NUM2INT(keylen);
StringValue(pass);
StringValue(salt);
md = GetDigestPtr(digest);
str = rb_str_new(0, len);
if (PKCS5_PBKDF2_HMAC(RSTRING_PTR(pass), RSTRING_LENINT(pass),
(unsigned char *)RSTRING_PTR(salt), RSTRING_LENINT(salt),
NUM2INT(iter), md, len,
(unsigned char *)RSTRING_PTR(str)) != 1)
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC");
return str;
}