pub struct Guard { /* private fields */ }Expand description
请求守卫:一个可跨请求共享、可跨线程克隆的加密句柄。
构造之后的一切加解密都经由它转发到 EncryptionManager;克隆只是
Arc 引用计数递增,不含任何密钥拷贝。
Implementations§
Source§impl Guard
impl Guard
Sourcepub fn new(manager: EncryptionManager) -> Self
pub fn new(manager: EncryptionManager) -> Self
从一个已经建好的 Manager 构造。
Sourcepub fn from_master_key(
master_key: &[u8],
default_identifier: &str,
) -> Result<Self>
pub fn from_master_key( master_key: &[u8], default_identifier: &str, ) -> Result<Self>
从 32 字节主密钥构造(内部走 crate::factory::EncryptionManagerFactory)。
构造时即完成全部校验(主密钥长度、默认算法是否注册),配置错了就在启动时炸。
Sourcepub fn manager(&self) -> &EncryptionManager
pub fn manager(&self) -> &EncryptionManager
共享的 Manager。总是存在。
Sourcepub fn identifiers(&self) -> Vec<&str>
pub fn identifiers(&self) -> Vec<&str>
已注册算法标识(健康检查 / 日志用)。
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Guard
impl !UnwindSafe for Guard
impl Freeze for Guard
impl Send for Guard
impl Sync for Guard
impl Unpin for Guard
impl UnsafeUnpin for Guard
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