pub struct PageEncryptor { /* private fields */ }Expand description
Handles page encryption/decryption
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
Layout:
[Nonce (12 bytes)] [Ciphertext (N bytes)] [Tag (16 bytes)]
The plaintext size N will result in an output of size N + 28 bytes.
The caller is responsible for ensuring the plaintext fits within the
target page size (e.g., passing 4068 bytes to get a 4096 byte page).
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<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