Module: OpenSSL::PKCS5
- Defined in:
- ossl_pkcs5.c
Defined Under Namespace
Classes: PKCS5Error
Class Method Summary collapse
-
.pbkdf2_hmac(pass, salt, iter, keylen, digest) ⇒ String
Parameters *
pass
- string *salt
- string *iter
- integer - should be greater than 1000. -
.pbkdf2_hmac_sha1(pass, salt, iter, keylen) ⇒ String
Parameters *
pass
- string *salt
- string *iter
- integer - should be greater than 1000.
Class Method Details
.pbkdf2_hmac(pass, salt, iter, keylen, digest) ⇒ String
Parameters
-
pass
- string -
salt
- string -
iter
- integer - should be greater than 1000. 2000 is better. -
keylen
- integer -
digest
- a string or OpenSSL::Digest object.
Available in OpenSSL 0.9.9?.
Digests other than SHA1 may not be supported by other cryptography libraries.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'ossl_pkcs5.c', line 26
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_LEN(pass),
(unsigned char *)RSTRING_PTR(salt), RSTRING_LEN(salt),
NUM2INT(iter), md, len,
(unsigned char *)RSTRING_PTR(str)) != 1)
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC");
return str;
}
|
.pbkdf2_hmac_sha1(pass, salt, iter, keylen) ⇒ String
Parameters
-
pass
- string -
salt
- string -
iter
- integer - should be greater than 1000. 2000 is better. -
keylen
- integer
This method is available almost any version OpenSSL.
Conforms to rfc2898.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'ossl_pkcs5.c', line 67
static VALUE
ossl_pkcs5_pbkdf2_hmac_sha1(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE keylen)
{
VALUE str;
int len = NUM2INT(keylen);
StringValue(pass);
StringValue(salt);
str = rb_str_new(0, len);
if (PKCS5_PBKDF2_HMAC_SHA1(RSTRING_PTR(pass), RSTRING_LENINT(pass),
(const unsigned char *)RSTRING_PTR(salt), RSTRING_LENINT(salt), NUM2INT(iter),
len, (unsigned char *)RSTRING_PTR(str)) != 1)
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC_SHA1");
return str;
}
|