Magik.Crypto (Magik v0.11.0) View Source

Provide some basic encrypt/decrypt function

Link to this section Summary

Functions

Decode cipher data which encrypted using encrypt/2

Decode cipher data which encrypted using encrypt/2

Encrypt data using :aes_128_cbc mode, and return base64 encrypted string

Encrypt data using :aes_128_cbc mode, and return base64 encrypted string

Generates a random 16 byte and encode base64 secret key.

Link to this section Functions

Link to this function

decrypt(ciphertext, secret_key)

View Source

Specs

decrypt(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}

Decode cipher data which encrypted using encrypt/2

key = generate_secret()
{:ok, cipher} = encrypt("hello", key)
decrypt(cipher, key)
Link to this function

decrypt!(ciphertext, secret_key)

View Source
Link to this function

decrypt_aead(ciphertext, secret_key)

View Source

Specs

decrypt_aead(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}

Decode cipher data which encrypted using encrypt/2

key = generate_secret()
{:ok, cipher} = encrypt_aead("hello", key)
decrypt_aead(cipher, key)
Link to this function

decrypt_aead!(ciphertext, secret_key)

View Source

Specs

decrypt_aead!(String.t(), String.t()) :: String.t()
Link to this function

encrypt(plaintext, secret_key)

View Source

Specs

encrypt(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}

Encrypt data using :aes_128_cbc mode, and return base64 encrypted string

key = generate_secret()
encrypt("hello", key)
Link to this function

encrypt!(plaintext, secret_key)

View Source

Specs

encrypt!(String.t(), String.t()) :: String.t()
Link to this function

encrypt_aead(plaintext, secret_key)

View Source

Specs

encrypt_aead(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}

Encrypt data using :aes_128_cbc mode, and return base64 encrypted string

key = generate_secret()
encrypt_aead("hello", key)
Link to this function

encrypt_aead!(plaintext, secret_key)

View Source

Specs

encrypt_aead!(String.t(), String.t()) :: String.t()

Generates a random 16 byte and encode base64 secret key.