exonum-crypto
provides a high-level API for work with various cryptography tasks.
Capabilities of exonum-crypto
include:
The main backend for exonum-crypto
is sodiumoxide
, and the used algorithms are:
Consult the crate docs for more details.
Signing data and verifying the signature:
exonum_crypto::init();
let (public_key, secret_key) = exonum_crypto::gen_keypair();
let data = [1, 2, 3];
let signature = exonum_crypto::sign(&data, &secret_key);
assert!(exonum_crypto::verify(&signature, &data, &public_key));
Hashing fixed amount of data:
exonum_crypto::init();
let data = [1, 2, 3];
let hash = exonum_crypto::hash(&data);
Hashing data by chunks:
use exonum_crypto::HashStream;
exonum_crypto::init();
let data: Vec<[u8; 5]> = vec![[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]];
let mut hash_stream = HashStream::new();
for chunk in data {
hash_stream = hash_stream.update(&chunk);
}
let _ = hash_stream.hash();
Include exonum-crypto
as a dependency in your Cargo.toml
:
[dependencies]
exonum-crypto = "1.0.0"
exonum-crypto
is licensed under the Apache License (Version 2.0).
See LICENSE for details.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )