[][src]Struct exonum::crypto::Seed

pub struct Seed(_);

Ed25519 seed representing a succession of bytes that can be used for deterministic keypair generation. If the same seed is indicated in the generator multiple times, the generated keys will be the same each time.

Note that this is not the seed added to Exonum transactions for additional security, this is a separate entity. This structure is useful for testing, to receive repeatable results. The seed in this structure is either set manually or selected using the methods below.

Examples

The example below generates a pair of public and secret keys taking into account the selected seed. The same seed will always lead to generation of the same keypair.

use exonum::crypto::{self, SEED_LENGTH, Seed};

let (public_key, secret_key) = crypto::gen_keypair_from_seed(&Seed::new([1; SEED_LENGTH]));

Methods

impl Seed
[src]

pub fn zero() -> Self
[src]

Creates a new instance filled with zeros.

impl Seed
[src]

pub fn new(bytes_array: [u8; 32]) -> 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 to_hex(&self) -> String
[src]

Returns a hex representation of binary data. Lower case letters are used (e.g. f9b4ca).

Trait Implementations

impl Eq for Seed
[src]

impl PartialEq<Seed> for Seed
[src]

impl Clone for Seed
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Seed
[src]

impl Index<Range<usize>> for Seed
[src]

type Output = [u8]

The returned type after indexing.

impl Index<RangeTo<usize>> for Seed
[src]

type Output = [u8]

The returned type after indexing.

impl Index<RangeFrom<usize>> for Seed
[src]

type Output = [u8]

The returned type after indexing.

impl Index<RangeFull> for Seed
[src]

type Output = [u8]

The returned type after indexing.

impl<'de> Deserialize<'de> for Seed
[src]

impl Serialize for Seed
[src]

impl ToHex for Seed
[src]

impl FromHex for Seed
[src]

type Error = FromHexError

Auto Trait Implementations

impl Send for Seed

impl Sync for Seed

Blanket Implementations

impl<T> SerializeContent for T where
    T: Serialize
[src]

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T

impl<T> Erased for T

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<Q, K> Equivalent for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> ToHex for T where
    T: AsRef<[u8]>, 
[src]

impl<T> Same for T

type Output = T

Should always be Self