Class: Lhj::CipherHelper
- Inherits:
-
Object
- Object
- Lhj::CipherHelper
- Defined in:
- lib/lhj/helper/cipher_helper.rb
Constant Summary collapse
- CIPHER_KEY =
'1234567890'.freeze
- CIPHERIV =
'456'.freeze
Class Method Summary collapse
- .decode(str) ⇒ Object
- .decode64_encode(str) ⇒ Object
- .encode(data) ⇒ Object
- .encode64_encode(str) ⇒ Object
- .iv ⇒ Object
- .key ⇒ Object
- .strict_decode64_encode(str) ⇒ Object
- .strict_encode64_encode(str) ⇒ Object
Class Method Details
.decode(str) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/lhj/helper/cipher_helper.rb', line 49 def self.decode(str) decipher = OpenSSL::Cipher.new('AES-256-CBC').decrypt decipher.key = key decipher.iv = iv decipher.update(Base64.strict_decode64(str)) + decipher.final end |
.decode64_encode(str) ⇒ Object
36 37 38 39 |
# File 'lib/lhj/helper/cipher_helper.rb', line 36 def self.decode64_encode(str) decode_str = decode(str) Base64.decode64(decode_str) end |
.encode(data) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/lhj/helper/cipher_helper.rb', line 41 def self.encode(data) cipher = OpenSSL::Cipher.new('AES-256-CBC').encrypt cipher.key = key cipher.iv = iv encrypted = cipher.update(data) + cipher.final Base64.strict_encode64(encrypted) end |
.encode64_encode(str) ⇒ Object
26 27 28 29 |
# File 'lib/lhj/helper/cipher_helper.rb', line 26 def self.encode64_encode(str) encode_str = Base64.encode64(str) encode(encode_str) end |
.iv ⇒ Object
15 16 17 18 19 |
# File 'lib/lhj/helper/cipher_helper.rb', line 15 def self.iv iv = [CIPHERIV].pack('H*') iv << ("\x00" * (16 - iv.length)) iv end |
.key ⇒ Object
9 10 11 12 13 |
# File 'lib/lhj/helper/cipher_helper.rb', line 9 def self.key key = [CIPHER_KEY].pack('H*') key << ("\x00" * (32 - key.length)) key end |
.strict_decode64_encode(str) ⇒ Object
31 32 33 34 |
# File 'lib/lhj/helper/cipher_helper.rb', line 31 def self.strict_decode64_encode(str) decode_str = decode(str) Base64.strict_decode64(decode_str) end |
.strict_encode64_encode(str) ⇒ Object
21 22 23 24 |
# File 'lib/lhj/helper/cipher_helper.rb', line 21 def self.strict_encode64_encode(str) encode_str = Base64.strict_encode64(str) encode(encode_str) end |