Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 793 Bytes

README.md

File metadata and controls

23 lines (19 loc) · 793 Bytes

Easy RSA encryption/decryption in Elixir

This module wraps Erlang's public_key module, making RSA encryption/decryption a trivial task.

# Decode your public and private keys
public_key = RSA.decode_key "-----BEGIN RSA PUBLIC KEY----- ..."
private_key = ...

# Encrypt a string using the public key and decrypt it using the private key
plaintext = "hello world"
cyphertext = plaintext |> RSA.encrypt {:public, public_key}
# << ... encrypted binary data ... >>
# Encode it to base64
encrypted_b64 = :base64.encode_to_string cyphertext
# "... base64 ASCII text ..."

# Decode a base64 encrypted string and decrypt it
cyphertext = :base64.decode encrypted_b64
plaintext = cyphertext |> RSA.decrypt {:private, private_key}
# "hello world"