Struct sn_node::state_db::SecretKey [−][src]
pub struct SecretKey(_);
Expand description
An EdDSA secret key.
Instances of this secret are automatically overwritten with zeroes when they fall out of scope.
Implementations
impl SecretKey
[src]
impl SecretKey
[src]pub fn from_bytes(bytes: &[u8]) -> Result<SecretKey, Error>
[src]
pub fn from_bytes(bytes: &[u8]) -> Result<SecretKey, Error>
[src]Construct a SecretKey
from a slice of bytes.
Example
use ed25519_dalek::SecretKey; use ed25519_dalek::SECRET_KEY_LENGTH; use ed25519_dalek::SignatureError; let secret_key_bytes: [u8; SECRET_KEY_LENGTH] = [ 157, 097, 177, 157, 239, 253, 090, 096, 186, 132, 074, 244, 146, 236, 044, 196, 068, 073, 197, 105, 123, 050, 105, 025, 112, 059, 172, 003, 028, 174, 127, 096, ]; let secret_key: SecretKey = SecretKey::from_bytes(&secret_key_bytes)?;
Returns
A Result
whose okay value is an EdDSA SecretKey
or whose error value
is an SignatureError
wrapping the internal error that occurred.
pub fn generate<T>(csprng: &mut T) -> SecretKey where
T: CryptoRng + RngCore,
[src]
pub fn generate<T>(csprng: &mut T) -> SecretKey where
T: CryptoRng + RngCore,
[src]Generate a SecretKey
from a csprng
.
Example
extern crate rand; extern crate ed25519_dalek; use rand::rngs::OsRng; use ed25519_dalek::PublicKey; use ed25519_dalek::SecretKey; use ed25519_dalek::Signature; let mut csprng = OsRng{}; let secret_key: SecretKey = SecretKey::generate(&mut csprng);
Afterwards, you can generate the corresponding public:
let public_key: PublicKey = (&secret_key).into();
Input
A CSPRNG with a fill_bytes()
method, e.g. rand::OsRng
Trait Implementations
impl<'d> Deserialize<'d> for SecretKey
[src]
impl<'d> Deserialize<'d> for SecretKey
[src]pub fn deserialize<D>(
deserializer: D
) -> Result<SecretKey, <D as Deserializer<'d>>::Error> where
D: Deserializer<'d>,
[src]
pub fn deserialize<D>(
deserializer: D
) -> Result<SecretKey, <D as Deserializer<'d>>::Error> where
D: Deserializer<'d>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Serialize for SecretKey
[src]
impl Serialize for SecretKey
[src]pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for SecretKey
impl Send for SecretKey
impl Sync for SecretKey
impl Unpin for SecretKey
impl UnwindSafe for SecretKey
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToHex for T where
T: AsRef<[u8]>,
[src]
impl<T> ToHex for T where
T: AsRef<[u8]>,
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,