pub struct CryptoHazmat { /* private fields */ }
hazmat
only.Expand description
§⚠️ Hazardous Materials
Cryptographic functions under CryptoHazmat are low-leveled which can be insecure if misused. They are not generally recommended. Using them incorrectly can introduce security vulnerabilities. Please use Crypto if possible.
Implementations§
Source§impl CryptoHazmat
impl CryptoHazmat
pub fn env(&self) -> &Env
Sourcepub fn secp256k1_recover(
&self,
message_digest: &BytesN<32>,
signature: &BytesN<64>,
recorvery_id: u32,
) -> BytesN<65>
pub fn secp256k1_recover( &self, message_digest: &BytesN<32>, signature: &BytesN<64>, recorvery_id: u32, ) -> BytesN<65>
Recovers the ECDSA secp256k1 public key.
The public key returned is the SEC-1-encoded ECDSA secp256k1 public key that produced the 64-byte signature over a given 32-byte message digest, for a given recovery_id byte.
WARNING: The message_digest
must be produced by a secure cryptographic
hash function on the message, otherwise the attacker can potentially
forge signatures.
Sourcepub fn secp256r1_verify(
&self,
public_key: &BytesN<65>,
message_digest: &BytesN<32>,
signature: &BytesN<64>,
)
pub fn secp256r1_verify( &self, public_key: &BytesN<65>, message_digest: &BytesN<32>, signature: &BytesN<64>, )
Verifies the ECDSA secp256r1 signature.
The SEC-1-encoded public key is provided along with a 32-byte message digest, verifies the 64-byte signature.
WARNING: The message_digest
must be produced by a secure cryptographic
hash function on the message, otherwise the attacker can potentially
forge signatures.
Auto Trait Implementations§
impl Freeze for CryptoHazmat
impl !RefUnwindSafe for CryptoHazmat
impl !Send for CryptoHazmat
impl !Sync for CryptoHazmat
impl Unpin for CryptoHazmat
impl !UnwindSafe for CryptoHazmat
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
Source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more