pub struct DigestIdentifier { /* private fields */ }Expand description
Digest identifier with algorithm identification
The output contains:
- 1 byte: algorithm identifier
- N bytes: actual hash value (length depends on algorithm)
Implementations§
Source§impl DigestIdentifier
impl DigestIdentifier
Sourcepub fn new(algorithm: HashAlgorithm, hash: Vec<u8>) -> Result<Self, CryptoError>
pub fn new(algorithm: HashAlgorithm, hash: Vec<u8>) -> Result<Self, CryptoError>
Create a new hash output
Sourcepub fn algorithm(&self) -> HashAlgorithm
pub fn algorithm(&self) -> HashAlgorithm
Get the algorithm used
Sourcepub fn hash_bytes(&self) -> &[u8] ⓘ
pub fn hash_bytes(&self) -> &[u8] ⓘ
Get the hash bytes (without identifier)
Sourcepub fn hash_array<const N: usize>(&self) -> Result<[u8; N], CryptoError>
pub fn hash_array<const N: usize>(&self) -> Result<[u8; N], CryptoError>
Get the hash as a fixed-size array
This method converts the hash bytes into an array of the specified size. The size must match the algorithm’s output length.
§Errors
Returns an error if the requested size doesn’t match the algorithm’s output length.
§Example
use ave_identity::{BLAKE3_HASHER, hash::{BLAKE3_OUTPUT_LENGTH, Hash}};
let hash = BLAKE3_HASHER.hash(b"Hello, World!");
let array: [u8; 32] = hash.hash_array().unwrap();
assert_eq!(array.len(), BLAKE3_OUTPUT_LENGTH);Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, CryptoError>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, CryptoError>
Parse from bytes (includes algorithm identifier)
Trait Implementations§
Source§impl BorshDeserialize for DigestIdentifier
impl BorshDeserialize for DigestIdentifier
fn deserialize_reader<__R: Read>(reader: &mut __R) -> Result<Self, Error>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for DigestIdentifier
impl BorshSerialize for DigestIdentifier
Source§impl Clone for DigestIdentifier
impl Clone for DigestIdentifier
Source§fn clone(&self) -> DigestIdentifier
fn clone(&self) -> DigestIdentifier
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DigestIdentifier
impl Debug for DigestIdentifier
Source§impl Default for DigestIdentifier
impl Default for DigestIdentifier
Source§impl<'de> Deserialize<'de> for DigestIdentifier
impl<'de> Deserialize<'de> for DigestIdentifier
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for DigestIdentifier
impl Display for DigestIdentifier
Source§impl FromStr for DigestIdentifier
impl FromStr for DigestIdentifier
Source§impl Hash for DigestIdentifier
impl Hash for DigestIdentifier
Source§impl Ord for DigestIdentifier
impl Ord for DigestIdentifier
Source§fn cmp(&self, other: &DigestIdentifier) -> Ordering
fn cmp(&self, other: &DigestIdentifier) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for DigestIdentifier
impl PartialEq for DigestIdentifier
Source§impl PartialOrd for DigestIdentifier
impl PartialOrd for DigestIdentifier
Source§impl Serialize for DigestIdentifier
impl Serialize for DigestIdentifier
impl Eq for DigestIdentifier
impl StructuralPartialEq for DigestIdentifier
Auto Trait Implementations§
impl Freeze for DigestIdentifier
impl RefUnwindSafe for DigestIdentifier
impl Send for DigestIdentifier
impl Sync for DigestIdentifier
impl Unpin for DigestIdentifier
impl UnsafeUnpin for DigestIdentifier
impl UnwindSafe for DigestIdentifier
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