diff options
| author | Alexander Kassouni <alex@kassouni.net> | 2026-09-08 20:11:06 -0700 |
|---|---|---|
| committer | Alexander Kassouni <alex@kassouni.net> | 2026-09-08 20:11:06 -0700 |
| commit | 9ca1a1c1c7bf56e39b516c299b4e0d3efe59652b (patch) | |
| tree | 7e41c6f8424fbd021b515f6a95deffda61b4a142 /src/iso/loader.rs | |
| parent | 24ec2a92b56ca4296fe65b70524e36a8e1c67c2e (diff) | |
better docs
Diffstat (limited to 'src/iso/loader.rs')
| -rw-r--r-- | src/iso/loader.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/iso/loader.rs b/src/iso/loader.rs new file mode 100644 index 0000000..b8c61da --- /dev/null +++ b/src/iso/loader.rs @@ -0,0 +1,25 @@ + +use std::{path::Path}; +use sha2::{Sha256}; +use std::fs::File; +use hex_literal::hex; +use digest_io::HashReader; +use std::io::BufReader; + +pub struct GameIso { + filepath: bool +} + +impl GameIso { + pub fn new<P: AsRef<Path>>(path: P) -> () { + let file = File::open(path).unwrap(); + let reader = BufReader::new(file); + + let mut hasher: HashReader<Sha256, BufReader<File>> = HashReader::<Sha256, BufReader<File>>::new(reader); + hasher.hash_to_end(); + let hash = hasher.finalize(); + let s: String = hash.iter().map(|b| format!("{:02x}", b)).collect(); + + assert!(hash == hex!("a08ad2654831ab298071bdcdf727945efcfdd50d2b0e3512a3d361ee7b18296d")); + } +} |