pub struct GroupEncryption { /* private fields */ }Expand description
Multi-recipient encryption.
Implementations§
Source§impl GroupEncryption
impl GroupEncryption
Sourcepub fn add_member(&mut self, member_id: &str, shared_key: [u8; 32])
pub fn add_member(&mut self, member_id: &str, shared_key: [u8; 32])
Add member to group.
Sourcepub fn remove_member(&mut self, member_id: &str) -> bool
pub fn remove_member(&mut self, member_id: &str) -> bool
Remove member from group.
Sourcepub fn encrypt(&self, plaintext: &[u8]) -> Result<EncryptedGroupMessage>
pub fn encrypt(&self, plaintext: &[u8]) -> Result<EncryptedGroupMessage>
Encrypt for all group members.
Sourcepub fn decrypt_as_member(
encrypted: &EncryptedGroupMessage,
member_id: &str,
member_key: &[u8; 32],
) -> Result<Vec<u8>>
pub fn decrypt_as_member( encrypted: &EncryptedGroupMessage, member_id: &str, member_key: &[u8; 32], ) -> Result<Vec<u8>>
Decrypt as group member.
Sourcepub fn rotate_key(&mut self) -> Result<[u8; 32]>
pub fn rotate_key(&mut self) -> Result<[u8; 32]>
Rotate the group key.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GroupEncryption
impl RefUnwindSafe for GroupEncryption
impl Send for GroupEncryption
impl Sync for GroupEncryption
impl Unpin for GroupEncryption
impl UnsafeUnpin for GroupEncryption
impl UnwindSafe for GroupEncryption
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