Module: JWA::Algorithms::KeyManagement::Pbes2
- Included in:
- Pbes2Hs256A128Kw, Pbes2Hs384A192Kw, Pbes2Hs512A256Kw
- Defined in:
- lib/jwa/algorithms/key_management/pbes2.rb
Instance Method Summary collapse
- #decrypt(ciphertext) ⇒ Object
- #encrypt(plaintext) ⇒ Object
- #initialize(password, salt, iterations) ⇒ Object
Instance Method Details
#decrypt(ciphertext) ⇒ Object
15 16 17 |
# File 'lib/jwa/algorithms/key_management/pbes2.rb', line 15 def decrypt(ciphertext) self.class.kw_class.new(@key).decrypt(ciphertext) end |
#encrypt(plaintext) ⇒ Object
11 12 13 |
# File 'lib/jwa/algorithms/key_management/pbes2.rb', line 11 def encrypt(plaintext) self.class.kw_class.new(@key).encrypt(plaintext) end |
#initialize(password, salt, iterations) ⇒ Object
5 6 7 8 9 |
# File 'lib/jwa/algorithms/key_management/pbes2.rb', line 5 def initialize(password, salt, iterations) salt = "#{self.class.alg_name}\x00#{salt}" @key = kdf.run(password, salt, iterations, self.class.key_length) end |