pub enum DigestAlgorithm {
Sha1,
Sha256,
Sha384,
Sha512,
}
Expand description
A hashing algorithm used for digesting data.
Instances can be converted to and from Oid via From
/Into
implementations.
They can also be converted to and from The ASN.1 AlgorithmIdentifier, which is commonly used to represent them in X.509 certificates.
Instances can be converted into a digest::Context capable of computing
digests via From
/Into
.
Variants§
Sha1
SHA-1.
Corresponds to OID 1.3.14.3.2.26.
Sha256
SHA-256.
Corresponds to OID 2.16.840.1.101.3.4.2.1.
Sha384
SHA-384.
Corresponds to OID 2.16.840.1.101.3.4.2.2.
Sha512
SHA-512.
Corresponds to OID 2.16.840.1.101.3.4.2.3.
Implementations§
Source§impl DigestAlgorithm
impl DigestAlgorithm
Sourcepub fn digester(&self) -> Context
pub fn digester(&self) -> Context
Obtain an object that can be used to digest content using this algorithm.
Sourcepub fn digest_reader<R: Read>(&self, fh: &mut R) -> Result<Vec<u8>, Error>
pub fn digest_reader<R: Read>(&self, fh: &mut R) -> Result<Vec<u8>, Error>
Digest content from a reader.
Sourcepub fn rsa_pkcs1_encode(
&self,
message: &[u8],
target_length_in_bytes: usize,
) -> Result<Vec<u8>, Error>
pub fn rsa_pkcs1_encode( &self, message: &[u8], target_length_in_bytes: usize, ) -> Result<Vec<u8>, Error>
EMSA-PKCS1-v1_5 padding procedure.
As defined by https://tools.ietf.org/html/rfc3447#section-9.2.
message
is the message to digest and encode.
target_length_in_bytes
is the target length of the padding. This should match the RSA
key length. e.g. 2048 bit keys are length 256.
Trait Implementations§
Source§impl Clone for DigestAlgorithm
impl Clone for DigestAlgorithm
Source§fn clone(&self) -> DigestAlgorithm
fn clone(&self) -> DigestAlgorithm
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DigestAlgorithm
impl Debug for DigestAlgorithm
Source§impl Display for DigestAlgorithm
impl Display for DigestAlgorithm
Source§impl From<DigestAlgorithm> for AlgorithmIdentifier
impl From<DigestAlgorithm> for AlgorithmIdentifier
Source§fn from(alg: DigestAlgorithm) -> Self
fn from(alg: DigestAlgorithm) -> Self
Source§impl From<DigestAlgorithm> for Context
impl From<DigestAlgorithm> for Context
Source§fn from(alg: DigestAlgorithm) -> Self
fn from(alg: DigestAlgorithm) -> Self
Source§impl From<DigestAlgorithm> for Oid
impl From<DigestAlgorithm> for Oid
Source§fn from(alg: DigestAlgorithm) -> Self
fn from(alg: DigestAlgorithm) -> Self
Source§impl Hash for DigestAlgorithm
impl Hash for DigestAlgorithm
Source§impl PartialEq for DigestAlgorithm
impl PartialEq for DigestAlgorithm
Source§impl TryFrom<&AlgorithmIdentifier> for DigestAlgorithm
impl TryFrom<&AlgorithmIdentifier> for DigestAlgorithm
Source§type Error = X509CertificateError
type Error = X509CertificateError
Source§impl TryFrom<&Oid> for DigestAlgorithm
impl TryFrom<&Oid> for DigestAlgorithm
impl Copy for DigestAlgorithm
impl Eq for DigestAlgorithm
impl StructuralPartialEq for DigestAlgorithm
Auto Trait Implementations§
impl Freeze for DigestAlgorithm
impl RefUnwindSafe for DigestAlgorithm
impl Send for DigestAlgorithm
impl Sync for DigestAlgorithm
impl Unpin for DigestAlgorithm
impl UnwindSafe for DigestAlgorithm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)