17 stable releases

1.6.0 Mar 2, 2025
1.5.0 Jan 3, 2024
1.4.0 Aug 22, 2023
1.2.2 Jul 20, 2023
0.1.0 Mar 20, 2018

#37 in Cryptography

Download history 403266/week @ 2025-11-18 327495/week @ 2025-11-25 361377/week @ 2025-12-02 522883/week @ 2025-12-09 411104/week @ 2025-12-16 174408/week @ 2025-12-23 204033/week @ 2025-12-30 463383/week @ 2026-01-06 599457/week @ 2026-01-13 727208/week @ 2026-01-20 661936/week @ 2026-01-27 639438/week @ 2026-02-03 575103/week @ 2026-02-10 568803/week @ 2026-02-17 600551/week @ 2026-02-24 672782/week @ 2026-03-03

2,533,106 downloads per month
Used in 518 crates (260 directly)

MIT/Apache

18KB
336 lines

sha256 crypto digest

GitHub Actions Crates.io Docs.rs Download

Examples

sha256 digest function

use sha256::digest;

fn main() {
    let input = String::from("hello");
    let val = digest(input);
    assert_eq!(val,"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824");
    
    //sha256 digest &str
    let input = "hello";
    let val = digest(input);
    assert_eq!(val,"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824");
    
    //sha256 digest &mut &str
    let mut input = "hello";
    let val = digest(&mut input);
    assert_eq!(val,"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824");
    
    //sha256 digest char
    let mut input = 'π';
    let val = digest(input);
    assert_eq!(val,"2617fcb92baa83a96341de050f07a3186657090881eae6b833f66a035600f35a");


    let input = b"hello";
    let val = digest(input);
    assert_eq!(val, "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824");
}

sha256 try_digest function

use sha256::try_digest;
use std::path::Path;

fn main() {
    let input = Path::new("./foo.file");
    let val = try_digest(input).unwrap();
    assert_eq!(val,"433855b7d2b96c23a6f60e70c655eb4305e8806b682a9596a200642f947259b1");
}

Dependencies

~0.9–2.5MB
~50K SLoC