[−][src]Struct exonum_crypto::Signature
Ed25519 digital signature. This structure creates a signature over data using a secret key. Later it is possible to verify, using the corresponding public key, that the data have indeed been signed with that secret key.
Ed25519 is a signature system that ensures fast signing and key generation, as well as security and collision resilience.
Examples
The example below generates a pair of random public and secret keys, adds certain data, signs the data using the secret key and verifies that the data have been signed with that secret key.
let (public_key, secret_key) = exonum_crypto::gen_keypair(); let data = [1, 2, 3]; let signature = exonum_crypto::sign(&data, &secret_key); assert!(exonum_crypto::verify(&signature, &data, &public_key));
Methods
impl Signature
[src]
impl Signature
[src]
pub fn new(bytes_array: [u8; 64]) -> Self
[src]
Creates a new instance from bytes array.
pub fn from_slice(bytes_slice: &[u8]) -> Option<Self>
[src]
Creates a new instance from bytes slice.
pub fn as_bytes(&self) -> [u8; 64]
[src]
Copies bytes from this instance.
pub fn to_hex(&self) -> String
[src]
Returns a hex representation of binary data.
Lower case letters are used (e.g. f9b4ca
).
Trait Implementations
impl AsRef<[u8]> for Signature
[src]
impl Clone for Signature
[src]
impl Copy for Signature
[src]
impl Debug for Signature
[src]
impl Default for Signature
[src]
impl<'de> Deserialize<'de> for Signature
[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
impl Display for Signature
[src]
impl Eq for Signature
[src]
impl FromHex for Signature
[src]
impl Hash for Signature
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Index<Range<usize>> for Signature
[src]
type Output = [u8]
The returned type after indexing.
fn index(&self, _index: Range<usize>) -> &[u8]
[src]
impl Index<RangeFrom<usize>> for Signature
[src]
type Output = [u8]
The returned type after indexing.
fn index(&self, _index: RangeFrom<usize>) -> &[u8]
[src]
impl Index<RangeFull> for Signature
[src]
type Output = [u8]
The returned type after indexing.
fn index(&self, _index: RangeFull) -> &[u8]
[src]
impl Index<RangeTo<usize>> for Signature
[src]
type Output = [u8]
The returned type after indexing.
fn index(&self, _index: RangeTo<usize>) -> &[u8]
[src]
impl Ord for Signature
[src]
fn cmp(&self, other: &Signature) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Signature> for Signature
[src]
impl PartialOrd<Signature> for Signature
[src]
fn partial_cmp(&self, other: &Signature) -> Option<Ordering>
[src]
fn lt(&self, other: &Signature) -> bool
[src]
fn le(&self, other: &Signature) -> bool
[src]
fn gt(&self, other: &Signature) -> bool
[src]
fn ge(&self, other: &Signature) -> bool
[src]
impl ProtobufConvert for Signature
[src]
type ProtoStruct = Signature
Type generated from the Protobuf definition.
fn to_pb(&self) -> Signature
[src]
fn from_pb(pb: Signature) -> Result<Self, Error>
[src]
impl Serialize for Signature
[src]
impl StructuralEq for Signature
[src]
impl StructuralPartialEq for Signature
[src]
Auto Trait Implementations
impl RefUnwindSafe for Signature
impl Send for Signature
impl Sync for Signature
impl Unpin for Signature
impl UnwindSafe for Signature
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToHex for T where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
[src]
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
[src]
U: FromIterator<char>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,