Module: Senv::Blowfish
Instance Method Summary collapse
- #cipher(senv, key, data) ⇒ Object
- #cycle(key, data) ⇒ Object
- #decrypt(key, text) ⇒ Object
- #encrypt(key, data) ⇒ Object
- #recrypt(old_key, new_key, data) ⇒ Object
Instance Method Details
#cipher(senv, key, data) ⇒ Object
516 517 518 519 520 |
# File 'lib/senv.rb', line 516 def cipher(senv, key, data) cipher = OpenSSL::Cipher.new('bf-cbc').send(senv) cipher.key = Digest::SHA256.digest(key.to_s).slice(0,16) cipher.update(data) << cipher.final end |
#cycle(key, data) ⇒ Object
530 531 532 |
# File 'lib/senv.rb', line 530 def cycle(key, data) decrypt(key, encrypt(key, data)) end |
#decrypt(key, text) ⇒ Object
526 527 528 |
# File 'lib/senv.rb', line 526 def decrypt(key, text) cipher(:decrypt, key, text) end |
#encrypt(key, data) ⇒ Object
522 523 524 |
# File 'lib/senv.rb', line 522 def encrypt(key, data) cipher(:encrypt, key, data) end |
#recrypt(old_key, new_key, data) ⇒ Object
534 535 536 |
# File 'lib/senv.rb', line 534 def recrypt(old_key, new_key, data) encrypt(new_key, decrypt(old_key, data)) end |