pub struct PageEncryptor { /* private fields */ }Expand description
Binds a SecureKey to the canonical per-page envelope.
Implementations§
Source§impl PageEncryptor
impl PageEncryptor
Sourcepub fn new(key: SecureKey) -> PageEncryptor
pub fn new(key: SecureKey) -> PageEncryptor
Create a new page encryptor.
Sourcepub fn encrypt(&self, page_id: u32, plaintext: &[u8]) -> Vec<u8> ⓘ
pub fn encrypt(&self, page_id: u32, plaintext: &[u8]) -> Vec<u8> ⓘ
Encrypt a page through the canonical envelope.
Layout: [nonce (12)] [ciphertext (N)] [tag (16)]; the
plaintext of size N yields N + OVERHEAD bytes. The caller
ensures the plaintext fits the target page size (e.g. 4068
bytes → a 4096-byte page). page_id is bound as AAD.
Auto Trait Implementations§
impl Freeze for PageEncryptor
impl RefUnwindSafe for PageEncryptor
impl Send for PageEncryptor
impl Sync for PageEncryptor
impl Unpin for PageEncryptor
impl UnsafeUnpin for PageEncryptor
impl UnwindSafe for PageEncryptor
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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