#[repr(C)]
pub struct SecretKey(_);
Expand this SecretKey
into an ExpandedSecretKey
.
Convert this secret key to a byte array.
View this secret key as a byte array.
Construct a SecretKey
from a slice of bytes.
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)?;
A Result
whose okay value is an EdDSA SecretKey
or whose error value
is an SignatureError
wrapping the internal error that occurred.
Generate a SecretKey
from a csprng
.
extern crate rand;
extern crate sha2;
extern crate ed25519_dalek;
use rand::Rng;
use rand::OsRng;
use sha2::Sha512;
use ed25519_dalek::PublicKey;
use ed25519_dalek::SecretKey;
use ed25519_dalek::Signature;
let mut csprng: OsRng = OsRng::new().unwrap();
let secret_key: SecretKey = SecretKey::generate(&mut csprng);
Afterwards, you can generate the corresponding public—provided you also
supply a hash function which implements the Digest
and Default
traits, and which returns 512 bits of output—via:
let public_key: PublicKey = PublicKey::from_secret::<Sha512>(&secret_key);
The standard hash function used for most ed25519 libraries is SHA-512,
which is available with use sha2::Sha512
as in the example above.
Other suitable hash functions include Keccak-512 and Blake2b-512.
A CSPRNG with a fill_bytes()
method, e.g. rand::ChaChaRng
Formats the value using the given formatter. Read more
Returns the "default value" for a type. Read more
Overwrite secret key material with null bytes when it goes out of scope.
Executes the destructor for this type. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
impl<T> Clear for T where T: InitializableFromZeroed + ?Sized, | |
Completely overwrites this value.
impl<T> InitializableFromZeroed for T where T: Default, | |
Called to initialize a place to a valid value, after it is set to all-bits-zero. Read more