#[repr(C)]pub struct PrivateKey(pub [u8; 32]);Expand description
256 bit hash type.
Tuple Fields§
§0: [u8; 32]Implementations§
Source§impl PrivateKey
impl PrivateKey
Sourcepub fn repeat_byte(byte: u8) -> PrivateKey
pub fn repeat_byte(byte: u8) -> PrivateKey
Returns a new fixed hash where all bits are set to the given byte.
Sourcepub fn zero() -> PrivateKey
pub fn zero() -> PrivateKey
Returns a new zero-initialized fixed hash.
Sourcepub fn as_bytes_mut(&mut self) -> &mut [u8] ⓘ
pub fn as_bytes_mut(&mut self) -> &mut [u8] ⓘ
Extracts a mutable byte slice containing the entire fixed hash.
Sourcepub fn as_fixed_bytes(&self) -> &[u8; 32]
pub fn as_fixed_bytes(&self) -> &[u8; 32]
Extracts a reference to the byte array containing the entire fixed hash.
Sourcepub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 32]
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 32]
Extracts a reference to the byte array containing the entire fixed hash.
Sourcepub fn to_fixed_bytes(self) -> [u8; 32]
pub fn to_fixed_bytes(self) -> [u8; 32]
Returns the inner bytes array.
Sourcepub fn as_mut_ptr(&mut self) -> *mut u8
pub fn as_mut_ptr(&mut self) -> *mut u8
Returns a mutable raw pointer to the value.
Sourcepub fn assign_from_slice(&mut self, src: &[u8])
pub fn assign_from_slice(&mut self, src: &[u8])
Sourcepub fn from_slice(src: &[u8]) -> Self
pub fn from_slice(src: &[u8]) -> Self
Source§impl PrivateKey
Utilities using the byteorder crate.
impl PrivateKey
Utilities using the byteorder crate.
Sourcepub fn to_low_u64_be(&self) -> u64
pub fn to_low_u64_be(&self) -> u64
Returns the lowest 8 bytes interpreted as big-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
Sourcepub fn to_low_u64_le(&self) -> u64
pub fn to_low_u64_le(&self) -> u64
Returns the lowest 8 bytes interpreted as little-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
Sourcepub fn to_low_u64_ne(&self) -> u64
pub fn to_low_u64_ne(&self) -> u64
Returns the lowest 8 bytes interpreted as native-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
Sourcepub fn from_low_u64_be(val: u64) -> Self
pub fn from_low_u64_be(val: u64) -> Self
Creates a new hash type from the given u64 value.
§Note
- The given
u64value is interpreted as big endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
Sourcepub fn from_low_u64_le(val: u64) -> Self
pub fn from_low_u64_le(val: u64) -> Self
Creates a new hash type from the given u64 value.
§Note
- The given
u64value is interpreted as little endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
Sourcepub fn from_low_u64_ne(val: u64) -> Self
pub fn from_low_u64_ne(val: u64) -> Self
Creates a new hash type from the given u64 value.
§Note
- The given
u64value is interpreted as native endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
Source§impl PrivateKey
Utilities using the rand crate.
impl PrivateKey
Utilities using the rand crate.
Sourcepub fn randomize_using<R>(&mut self, rng: &mut R)
pub fn randomize_using<R>(&mut self, rng: &mut R)
Assign self to a cryptographically random value using the
given random number generator.
Sourcepub fn random_using<R>(rng: &mut R) -> Self
pub fn random_using<R>(rng: &mut R) -> Self
Create a new hash with cryptographically random content using the given random number generator.
Source§impl PrivateKey
impl PrivateKey
pub fn encrypt_message<C: BlockCipher>( &self, receiver_pk: &[u8; 32], msg: &[u8], ) -> Result<Vec<u8>>
pub fn decrypt_message<C: BlockCipher>( &self, signer_pk: &[u8; 32], enc_msg: &[u8], ) -> Result<Vec<u8>>
Trait Implementations§
Source§impl AsMut<[u8]> for PrivateKey
impl AsMut<[u8]> for PrivateKey
Source§impl AsRef<[u8]> for PrivateKey
impl AsRef<[u8]> for PrivateKey
Source§impl<'l, 'r> BitAnd<&'r PrivateKey> for &'l PrivateKey
impl<'l, 'r> BitAnd<&'r PrivateKey> for &'l PrivateKey
Source§type Output = PrivateKey
type Output = PrivateKey
& operator.Source§impl BitAnd for PrivateKey
impl BitAnd for PrivateKey
Source§impl<'r> BitAndAssign<&'r PrivateKey> for PrivateKey
impl<'r> BitAndAssign<&'r PrivateKey> for PrivateKey
Source§fn bitand_assign(&mut self, rhs: &'r PrivateKey)
fn bitand_assign(&mut self, rhs: &'r PrivateKey)
&= operation. Read moreSource§impl BitAndAssign for PrivateKey
impl BitAndAssign for PrivateKey
Source§fn bitand_assign(&mut self, rhs: PrivateKey)
fn bitand_assign(&mut self, rhs: PrivateKey)
&= operation. Read moreSource§impl<'l, 'r> BitOr<&'r PrivateKey> for &'l PrivateKey
impl<'l, 'r> BitOr<&'r PrivateKey> for &'l PrivateKey
Source§type Output = PrivateKey
type Output = PrivateKey
| operator.Source§impl BitOr for PrivateKey
impl BitOr for PrivateKey
Source§impl<'r> BitOrAssign<&'r PrivateKey> for PrivateKey
impl<'r> BitOrAssign<&'r PrivateKey> for PrivateKey
Source§fn bitor_assign(&mut self, rhs: &'r PrivateKey)
fn bitor_assign(&mut self, rhs: &'r PrivateKey)
|= operation. Read moreSource§impl BitOrAssign for PrivateKey
impl BitOrAssign for PrivateKey
Source§fn bitor_assign(&mut self, rhs: PrivateKey)
fn bitor_assign(&mut self, rhs: PrivateKey)
|= operation. Read moreSource§impl<'l, 'r> BitXor<&'r PrivateKey> for &'l PrivateKey
impl<'l, 'r> BitXor<&'r PrivateKey> for &'l PrivateKey
Source§type Output = PrivateKey
type Output = PrivateKey
^ operator.Source§impl BitXor for PrivateKey
impl BitXor for PrivateKey
Source§impl<'r> BitXorAssign<&'r PrivateKey> for PrivateKey
impl<'r> BitXorAssign<&'r PrivateKey> for PrivateKey
Source§fn bitxor_assign(&mut self, rhs: &'r PrivateKey)
fn bitxor_assign(&mut self, rhs: &'r PrivateKey)
^= operation. Read moreSource§impl BitXorAssign for PrivateKey
impl BitXorAssign for PrivateKey
Source§fn bitxor_assign(&mut self, rhs: PrivateKey)
fn bitxor_assign(&mut self, rhs: PrivateKey)
^= operation. Read moreSource§impl Clone for PrivateKey
impl Clone for PrivateKey
Source§fn clone(&self) -> PrivateKey
fn clone(&self) -> PrivateKey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrivateKey
impl Debug for PrivateKey
Source§impl Default for PrivateKey
impl Default for PrivateKey
Source§impl Display for PrivateKey
impl Display for PrivateKey
Source§impl Distribution<PrivateKey> for Standard
impl Distribution<PrivateKey> for Standard
Source§impl From<PrivateKey> for [u8; 32]
impl From<PrivateKey> for [u8; 32]
Source§fn from(s: PrivateKey) -> Self
fn from(s: PrivateKey) -> Self
Source§impl FromStr for PrivateKey
impl FromStr for PrivateKey
Source§fn from_str(input: &str) -> Result<PrivateKey, FromHexError>
fn from_str(input: &str) -> Result<PrivateKey, FromHexError>
Source§type Err = FromHexError
type Err = FromHexError
Source§impl Hash for PrivateKey
impl Hash for PrivateKey
Source§impl<I> Index<I> for PrivateKeywhere
I: SliceIndex<[u8]>,
impl<I> Index<I> for PrivateKeywhere
I: SliceIndex<[u8]>,
Source§impl<I> IndexMut<I> for PrivateKey
impl<I> IndexMut<I> for PrivateKey
Source§impl LowerHex for PrivateKey
impl LowerHex for PrivateKey
Source§impl Ord for PrivateKey
impl Ord for PrivateKey
Source§impl PartialEq for PrivateKey
impl PartialEq for PrivateKey
Source§impl PartialOrd for PrivateKey
impl PartialOrd for PrivateKey
Source§impl UpperHex for PrivateKey
impl UpperHex for PrivateKey
impl Copy for PrivateKey
impl Eq for PrivateKey
Auto Trait Implementations§
impl Freeze for PrivateKey
impl RefUnwindSafe for PrivateKey
impl Send for PrivateKey
impl Sync for PrivateKey
impl Unpin for PrivateKey
impl UnwindSafe for PrivateKey
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§impl<T> Rand for Twhere
Standard: Distribution<T>,
impl<T> Rand for Twhere
Standard: Distribution<T>,
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
self into the result. Lower case
letters are used (e.g. f9b4ca)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
self into the result. Upper case
letters are used (e.g. F9B4CA)