Sha256: 5b7f5a6712d06e5e52a038ae51a827e0b8839de87880773a8b7cc1b04e8a81fc
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
require 'openssl' module Padrino module Admin module Utils ## # This util it's used for encrypt/decrypt password. # We want password decryptable because generally for our sites we have: password_lost. # We prefer send original password instead reset them. # module Crypt ## # Decrypts the current string using the current key specified # def decrypt(password) cipher = build_cipher(:decrypt, password) cipher.update(self.unpack('m')[0]) + cipher.final end ## # Encrypts the current string using the current key and algorithm specified # def encrypt(password) cipher = build_cipher(:encrypt, password) [cipher.update(self) + cipher.final].pack('m').chomp end private def build_cipher(type, password) # @private cipher = OpenSSL::Cipher::Cipher.new("DES-EDE3-CBC").send(type) cipher.pkcs5_keyivgen(password) cipher end end # Crypt end # Utils end # Admin end # Padrino
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
padrino-admin-0.10.3 | lib/padrino-admin/utils/crypt.rb |
padrino-admin-0.10.2 | lib/padrino-admin/utils/crypt.rb |