Security Hardening
15 articles
How to Generate and Verify Digital Signatures in Rust
Generate and verify digital signatures in Rust using the ring crate's Ed25519KeyPair to sign messages and verify their authenticity.
How to Handle Secrets and Sensitive Data in Rust (secrecy crate)
Use the Rust `secrecy` crate to wrap sensitive data in a type that prevents accidental logging or printing at compile time.
How to Handle Untrusted Input Safely in Rust
Sanitize untrusted input in Rust by parsing strings into safe types like u32 and handling errors explicitly to prevent crashes or security issues.
How to Hash Data in Rust (SHA-256, Blake3, etc.)
Hash data in Rust using the sha2 crate for SHA-256 or blake3 crate for Blake3 by initializing a hasher, updating it with data, and finalizing the result.
How to Implement Constant-Time Comparison in Rust
Use the constant_time_eq function from the crypto-common crate to securely compare byte slices in Rust without leaking timing information.
How to Implement OAuth2 in Rust
Use the `oauth2` crate to handle the authorization code flow by defining a client, initiating the flow, and exchanging the code for tokens.
How to Manage Secrets in Rust Applications
Load secrets from environment variables using std::env::var to keep sensitive data out of your Rust source code.
How to Minimize Attack Surface in Rust Applications
Reduce Rust security risks by building release binaries without default features and auditing dependencies with cargo audit.
How to Prevent Denial-of-Service in Rust Applications
Prevent DoS in Rust by enforcing strict input size limits and using non-blocking I/O to avoid resource exhaustion.
How to Use AES Encryption in Rust
Use the aes crate with Aes256Gcm to encrypt and decrypt data securely in Rust.
How to Use cargo-audit to Check for Vulnerable Dependencies
Run `cargo audit` in your project root to scan your `Cargo.lock` file against the RustSec advisory database for known security vulnerabilities.
How to Use JWT Tokens in Rust (jsonwebtoken crate)
Use the `jsonwebtoken` crate to encode claims into a token and decode them back in your Axum handlers.
How to Use RSA Encryption in Rust
Use the rsa crate to generate keys and encrypt data in Rust.
How to Use TLS Certificates in Rust
Enable TLS in Rust by adding the rustls-tls feature to your reqwest dependency in Cargo.toml.
Security Best Practices for Rust Applications
Rust guarantees memory safety and prevents security vulnerabilities like buffer overflows through a compile-time ownership system that enforces strict rules on data access and lifecycle.