#diesel #encryption #aes

encrypted-message

Safely encrypt & store serializable data using AES-256-GCM

1 unstable release

0.3.0 Apr 28, 2024
0.2.0 Apr 23, 2024
0.1.0 Apr 11, 2024

#1072 in Cryptography

Download history 105/week @ 2024-04-05 32/week @ 2024-04-12 261/week @ 2024-04-19 197/week @ 2024-04-26 18/week @ 2024-05-03

613 downloads per month

MIT license

32KB
394 lines

encrypted-message

crates.io docs.rs "Lint & run tests" workflow License

Safely encrypt & store serializable data using AES-256-GCM.

Install

[dependencies]
encrypted-message = "0.3"

Integration with Diesel

EncryptedMessage implements FromSql & ToSql, allowing you to use EncryptedMessage as a field type in your models.

  • MySQL: Enable the diesel & diesel-mysql features. Supports the Json type.
  • PostgreSQL: Enable the diesel & diesel-postgres features. Supports the Json & Jsonb types.
[dependencies]
encrypted-message = { version = "0.3", features = ["diesel", "diesel-<mysql|postgres>"] }

Examples

Security

This crate uses trusted, pure-Rust encryption using the aes_gcm crate from the Rust Crypto organization.

Keys are handled safely using the secrecy crate, which internally uses the zeroize crate (also from Rust Crypto) to zero-out the keys in memory when no longer used.

Dependencies

~2.3–4MB
~84K SLoC