Fix issue #573 - hmac example (#574)

* Update hmac example for ring v. ^0.16.9

* Update hmac example for ring v. ^0.16.9

* Update hmac example for ring v. ^0.16.9

* Update to ring 0.16.11 in Cargo.toml

* Update to SHA256 - sect. 4.1 explicit threads

* Update all to SHA256, including comments
This commit is contained in:
Josiah R 2020-02-29 23:12:36 -06:00 committed by GitHub
parent dddb1a9fa5
commit 05b2fcbdc7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 9 deletions

View file

@ -40,7 +40,7 @@ rand = "0.6"
rayon = "1.0"
regex = "1.0"
reqwest = "0.9"
ring = "0.13.0-alpha"
ring = "0.16.11"
rusqlite = { version = "0.16", features = ["chrono"] }
same-file = "1.0"
select = "0.4"

View file

@ -1,12 +1,12 @@
## Calculate SHA1 sum of iso files concurrently
## Calculate SHA256 sum of iso files concurrently
[![threadpool-badge]][threadpool] [![num_cpus-badge]][num_cpus] [![walkdir-badge]][walkdir] [![ring-badge]][ring] [![cat-concurrency-badge]][cat-concurrency][![cat-filesystem-badge]][cat-filesystem]
This example calculates the SHA1 for every file with iso extension in the
This example calculates the SHA256 for every file with iso extension in the
current directory. A threadpool generates threads equal to the number of cores
present in the system found with [`num_cpus::get`]. [`Walkdir::new`] iterates
the current directory and calls [`execute`] to perform the operations of reading
and computing SHA1 hash.
and computing SHA256 hash.
```rust,no_run
extern crate walkdir;
@ -20,7 +20,7 @@ use std::io::{BufReader, Read, Error};
use std::path::Path;
use threadpool::ThreadPool;
use std::sync::mpsc::channel;
use ring::digest::{Context, Digest, SHA1};
use ring::digest::{Context, Digest, SHA256};
# // Verify the iso extension
# fn is_iso(entry: &Path) -> bool {
@ -32,7 +32,7 @@ use ring::digest::{Context, Digest, SHA1};
fn compute_digest<P: AsRef<Path>>(filepath: P) -> Result<(Digest, P), Error> {
let mut buf_reader = BufReader::new(File::open(&filepath)?);
let mut context = Context::new(&SHA1);
let mut context = Context::new(&SHA256);
let mut buffer = [0; 1024];
loop {

View file

@ -7,7 +7,7 @@ Uses [`ring::hmac`] to creates a [`hmac::Signature`] of a string then verifies t
```rust
extern crate ring;
use ring::{digest, hmac, rand};
use ring::{hmac, rand};
use ring::rand::SecureRandom;
use ring::error::Unspecified;
@ -15,11 +15,11 @@ fn main() -> Result<(), Unspecified> {
let mut key_value = [0u8; 48];
let rng = rand::SystemRandom::new();
rng.fill(&mut key_value)?;
let key = hmac::SigningKey::new(&digest::SHA256, &key_value);
let key = hmac::Key::new(hmac::HMAC_SHA256, &key_value);
let message = "Legitimate and important message.";
let signature = hmac::sign(&key, message.as_bytes());
hmac::verify_with_own_key(&key, message.as_bytes(), signature.as_ref())?;
hmac::verify(&key, message.as_bytes(), signature.as_ref())?;
Ok(())
}