#diesel #encryption #aes

encrypted-message

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

1 unstable release

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

#74 in #aes

Download history 123/week @ 2024-04-06 14/week @ 2024-04-13 270/week @ 2024-04-20

407 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.2–4MB
~82K SLoC