Message::Encryptor
Inherits Reference < Object
Constants
KEY_LENGTH = 32
AES-256 requires a 32-byte key
Constructors
new(secret : String, cipher_algorithm : String = "aes-256-cbc", digest : Symbol = :sha256, fallback_digest : Symbol | Nil = :sha1, use_kdf : Bool = false, kdf_iterations : Int32 = 100000, kdf_salt : String = "session_kdf_salt")
SourceInstance methods
decrypt(value : Bytes) : Bytes
Sourceencrypt(value) : Bytes
Sourceencrypt_and_sign(value : Slice(UInt8)) : String
Encrypt and sign a message. We need to sign the message in order to avoid padding attacks. Reference: http://www.limited-entropy.com/padding-oracle-attacks.
encrypt_and_sign(value : String) : String
Sourceverifier
Sourceverify_and_decrypt(value : String) : Bytes
Verify and Decrypt a message. We need to verify the message in order to avoid padding attacks. Reference: http://www.limited-entropy.com/padding-oracle-attacks.