pub struct CryptoApi<P: CheckedPermissions> { /* private fields */ }Implementations§
Source§impl<P: ShaPermissions> CryptoApi<P>
impl<P: ShaPermissions> CryptoApi<P>
pub fn sha2(&self, data: &[u8], algo: ShaAlgo) -> Result<Vec<u8>, CryptoError>
pub fn sha224(&self, data: &[u8]) -> Result<[u8; 28], CryptoError>
pub fn sha256(&self, data: &[u8]) -> Result<[u8; 32], CryptoError>
pub fn sha384(&self, data: &[u8]) -> Result<[u8; 48], CryptoError>
pub fn sha512(&self, data: &[u8]) -> Result<[u8; 64], CryptoError>
pub fn sha_init(&self, algo: ShaAlgo) -> ShaStreamingContext<P>
pub fn sha256_init(&self) -> ShaStreamingContext<P>
Source§impl<P: CheckedPermissions> CryptoApi<P>
impl<P: CheckedPermissions> CryptoApi<P>
pub fn setup_aes( &self, key: &[u8], mode: AesMode, ) -> Result<AesContext<P>, CryptoError>
pub fn hmac224(
&self,
key: Vec<u8>,
data: Vec<u8>,
) -> Result<Vec<u8>, CryptoError>where
P: MessageAllowed<Hmac>,
pub fn hmac256(
&self,
key: Vec<u8>,
data: Vec<u8>,
) -> Result<Vec<u8>, CryptoError>where
P: MessageAllowed<Hmac>,
pub fn hmac384(
&self,
key: Vec<u8>,
data: Vec<u8>,
) -> Result<Vec<u8>, CryptoError>where
P: MessageAllowed<Hmac>,
pub fn hmac512(
&self,
key: Vec<u8>,
data: Vec<u8>,
) -> Result<Vec<u8>, CryptoError>where
P: MessageAllowed<Hmac>,
pub fn split_secret(
&self,
secret: Vec<u8>,
num_shares: usize,
threshold: usize,
) -> Result<Vec<Vec<u8>>, ShamirError>where
P: MessageAllowed<ShamirSplit>,
pub fn recover_secret(
&self,
indexes: Vec<usize>,
shares: Vec<Vec<u8>>,
) -> Result<Vec<u8>, ShamirError>where
P: MessageAllowed<ShamirRecover>,
Trait Implementations§
Source§impl<P: Clone + CheckedPermissions> Clone for CryptoApi<P>
impl<P: Clone + CheckedPermissions> Clone for CryptoApi<P>
Auto Trait Implementations§
impl<P> Freeze for CryptoApi<P>
impl<P> RefUnwindSafe for CryptoApi<P>
impl<P> Send for CryptoApi<P>
impl<P> Sync for CryptoApi<P>
impl<P> Unpin for CryptoApi<P>
impl<P> UnsafeUnpin for CryptoApi<P>
impl<P> UnwindSafe for CryptoApi<P>
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.