pub struct SecureKey { /* private fields */ }Expand description
A securely managed encryption key
Implementations§
Source§impl SecureKey
impl SecureKey
Sourcepub fn from_passphrase(password: &str, salt: &[u8]) -> SecureKey
pub fn from_passphrase(password: &str, salt: &[u8]) -> SecureKey
Derive a key from a password using PBKDF2-SHA256 Uses 100,000 iterations for security (OWASP recommendation)
Sourcepub fn from_env(
var_name: &str,
salt: Option<&[u8]>,
) -> Result<SecureKey, String>
pub fn from_env( var_name: &str, salt: Option<&[u8]>, ) -> Result<SecureKey, String>
Derive a key from an environment variable (e.g., REDDB_KEY) The env var can contain a hex string or a raw passphrase. If it’s a 64-char hex string, it’s treated as the raw key (32 bytes). Otherwise, it’s treated as a passphrase and KDF is applied (requires salt).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SecureKey
impl RefUnwindSafe for SecureKey
impl Send for SecureKey
impl Sync for SecureKey
impl Unpin for SecureKey
impl UnsafeUnpin for SecureKey
impl UnwindSafe for SecureKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request