pub struct Message(/* private fields */);
Expand description
A (hashed) message input to an ECDSA signature.
Implementations§
source§impl Message
impl Message
sourcepub fn from_slice(digest: &[u8]) -> Result<Message, Error>
👎Deprecated since 0.28.0: use from_digest_slice instead
pub fn from_slice(digest: &[u8]) -> Result<Message, Error>
If you just want to sign an arbitrary message use Message::from_hashed_data
instead.
Converts a MESSAGE_SIZE
-byte slice to a message object. WARNING: the slice has to be a
cryptographically secure hash of the actual message that’s going to be signed. Otherwise
the result of signing isn’t a
secure signature.
sourcepub fn from_digest(digest: [u8; 32]) -> Message
pub fn from_digest(digest: [u8; 32]) -> Message
Creates a Message
from a digest
.
If you just want to sign an arbitrary message use Message::from_hashed_data
instead.
The digest
array has to be a cryptographically secure hash of the actual message that’s
going to be signed. Otherwise the result of signing isn’t a secure signature.
sourcepub fn from_digest_slice(digest: &[u8]) -> Result<Message, Error>
pub fn from_digest_slice(digest: &[u8]) -> Result<Message, Error>
Creates a Message
from a 32 byte slice digest
.
If you just want to sign an arbitrary message use Message::from_hashed_data
instead.
The slice has to be 32 bytes long and be a cryptographically secure hash of the actual message that’s going to be signed. Otherwise the result of signing isn’t a secure signature.
Errors
If digest
is not exactly 32 bytes long.
sourcepub fn from_hashed_data<H: ThirtyTwoByteHash + Hash>(data: &[u8]) -> Self
pub fn from_hashed_data<H: ThirtyTwoByteHash + Hash>(data: &[u8]) -> Self
Constructs a Message
by hashing data
with hash algorithm H
.
Requires the feature hashes
to be enabled.
Examples
use secp256k1::hashes::{sha256, Hash};
use secp256k1::Message;
let m1 = Message::from_hashed_data::<sha256::Hash>("Hello world!".as_bytes());
// is equivalent to
let m2 = Message::from(sha256::Hash::hash("Hello world!".as_bytes()));
assert_eq!(m1, m2);
Trait Implementations§
source§impl<T: ThirtyTwoByteHash> From<T> for Message
impl<T: ThirtyTwoByteHash> From<T> for Message
source§impl Ord for Message
impl Ord for Message
source§impl PartialEq<Message> for Message
impl PartialEq<Message> for Message
source§impl PartialOrd<Message> for Message
impl PartialOrd<Message> for Message
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more