pub struct EncryptionEngine { /* private fields */ }Expand description
加密引擎
Implementations§
Source§impl EncryptionEngine
impl EncryptionEngine
Sourcepub fn with_config(config: EncryptionConfig) -> Self
pub fn with_config(config: EncryptionConfig) -> Self
使用配置创建
Sourcepub fn generate_key(&self) -> Result<String, EncryptionError>
pub fn generate_key(&self) -> Result<String, EncryptionError>
生成并添加新密钥
Sourcepub fn generate_key_with_algorithm(
&self,
algorithm: EncryptionAlgorithm,
) -> Result<String, EncryptionError>
pub fn generate_key_with_algorithm( &self, algorithm: EncryptionAlgorithm, ) -> Result<String, EncryptionError>
使用指定算法生成密钥
Sourcepub fn derive_key_from_password(
&self,
password: &str,
salt: &[u8],
) -> Result<String, EncryptionError>
pub fn derive_key_from_password( &self, password: &str, salt: &[u8], ) -> Result<String, EncryptionError>
从密码派生并添加密钥
Sourcepub fn add_key(&self, key: EncryptionKey) -> Result<String, EncryptionError>
pub fn add_key(&self, key: EncryptionKey) -> Result<String, EncryptionError>
添加已有密钥
Sourcepub fn get_key(&self, key_id: &str) -> Result<EncryptionKey, EncryptionError>
pub fn get_key(&self, key_id: &str) -> Result<EncryptionKey, EncryptionError>
获取密钥
Sourcepub fn remove_key(&self, key_id: &str) -> Result<bool, EncryptionError>
pub fn remove_key(&self, key_id: &str) -> Result<bool, EncryptionError>
删除密钥
Sourcepub fn get_default_key(&self) -> Result<EncryptionKey, EncryptionError>
pub fn get_default_key(&self) -> Result<EncryptionKey, EncryptionError>
获取默认密钥
Sourcepub fn set_default_key(&self, key_id: &str) -> Result<(), EncryptionError>
pub fn set_default_key(&self, key_id: &str) -> Result<(), EncryptionError>
设置默认密钥
Sourcepub fn encrypt(
&self,
plaintext: &[u8],
) -> Result<EncryptedData, EncryptionError>
pub fn encrypt( &self, plaintext: &[u8], ) -> Result<EncryptedData, EncryptionError>
加密数据
Sourcepub fn encrypt_with_key(
&self,
key: &EncryptionKey,
plaintext: &[u8],
) -> Result<EncryptedData, EncryptionError>
pub fn encrypt_with_key( &self, key: &EncryptionKey, plaintext: &[u8], ) -> Result<EncryptedData, EncryptionError>
使用指定密钥加密
Sourcepub fn encrypt_string(
&self,
plaintext: &str,
) -> Result<EncryptedData, EncryptionError>
pub fn encrypt_string( &self, plaintext: &str, ) -> Result<EncryptedData, EncryptionError>
加密字符串
Sourcepub fn decrypt(
&self,
encrypted: &EncryptedData,
) -> Result<Vec<u8>, EncryptionError>
pub fn decrypt( &self, encrypted: &EncryptedData, ) -> Result<Vec<u8>, EncryptionError>
解密数据
Sourcepub fn decrypt_with_key(
&self,
key: &EncryptionKey,
encrypted: &EncryptedData,
) -> Result<Vec<u8>, EncryptionError>
pub fn decrypt_with_key( &self, key: &EncryptionKey, encrypted: &EncryptedData, ) -> Result<Vec<u8>, EncryptionError>
使用指定密钥解密
Sourcepub fn decrypt_to_string(
&self,
encrypted: &EncryptedData,
) -> Result<String, EncryptionError>
pub fn decrypt_to_string( &self, encrypted: &EncryptedData, ) -> Result<String, EncryptionError>
解密为字符串
Sourcepub fn rotate_key(&self, old_key_id: &str) -> Result<String, EncryptionError>
pub fn rotate_key(&self, old_key_id: &str) -> Result<String, EncryptionError>
轮换密钥
Sourcepub fn get_keys_requiring_rotation(&self) -> Vec<String>
pub fn get_keys_requiring_rotation(&self) -> Vec<String>
获取需要轮换的密钥
Sourcepub fn export_key(&self, key_id: &str) -> Result<String, EncryptionError>
pub fn export_key(&self, key_id: &str) -> Result<String, EncryptionError>
导出密钥(Base64)
Sourcepub fn import_key(
&self,
key_b64: &str,
algorithm: EncryptionAlgorithm,
) -> Result<String, EncryptionError>
pub fn import_key( &self, key_b64: &str, algorithm: EncryptionAlgorithm, ) -> Result<String, EncryptionError>
导入密钥(Base64)
Sourcepub fn has_default_key(&self) -> bool
pub fn has_default_key(&self) -> bool
是否有默认密钥
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for EncryptionEngine
impl !RefUnwindSafe for EncryptionEngine
impl Send for EncryptionEngine
impl Sync for EncryptionEngine
impl Unpin for EncryptionEngine
impl UnsafeUnpin for EncryptionEngine
impl UnwindSafe for EncryptionEngine
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