Method: String#decrypt_ecb

Defined in:
lib/crypto_toolchain/extensions/string_extensions.rb

#decrypt_ecb(key:, blocksize: CryptoToolchain::AES_BLOCK_SIZE, cipher: 'AES-128') ⇒ Object



151
152
153
154
155
156
157
158
159
160
# File 'lib/crypto_toolchain/extensions/string_extensions.rb', line 151

def decrypt_ecb(key: , blocksize: CryptoToolchain::AES_BLOCK_SIZE, cipher: 'AES-128')
  in_blocks(blocksize).each_with_object("") do |block, memo|
    dec = OpenSSL::Cipher.new("#{cipher}-ECB")
    dec.decrypt
    dec.key = key
    dec.padding = 0
    plain = dec.update(block) + dec.final
    memo << plain
  end.without_pkcs7_padding(blocksize)
end