Skip to content

Commit 63cfaf4

Browse files
committed
feat: md5, sha1, sha256 and sha512
1 parent 61226fb commit 63cfaf4

File tree

6 files changed

+258
-56
lines changed

6 files changed

+258
-56
lines changed

Cargo.lock

Lines changed: 128 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ urlencoding = "2.1.3"
2323
ureq = "1.3"
2424
serde = "1.0"
2525
serde_json = "1.0"
26+
md-5 = "0.10.6"
27+
sha1 = "0.10.6"
28+
sha2 = "0.10.8"
29+
digest = "0.10.7"
2630

2731
[profile.release]
2832
opt-level = "z"

src/cli.rs

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use ice::{base, caesar, extract, general, manipulation, morse, services, xor};
1+
use ice::{base, caesar, extract, general, hasher, manipulation, morse, services, xor};
22
use pico_args::Arguments;
33

44
#[derive(Debug)]
@@ -34,6 +34,10 @@ pub enum Command {
3434
UrlEncode(String),
3535
UrlDecode(String),
3636
FactorDb(String),
37+
Md5(String),
38+
Sha1(String),
39+
Sha256(String),
40+
Sha512(String),
3741
Help,
3842
Version,
3943
Unknown(String),
@@ -75,6 +79,10 @@ impl Command {
7579
Command::UrlEncode(text) => println!("{}", general::url_encode(text).trim()),
7680
Command::UrlDecode(text) => println!("{}", general::url_decode(text).trim()),
7781
Command::FactorDb(number) => println!("{}", services::factordb(number).trim()),
82+
Command::Md5(input) => println!("{}", hasher::md5(input).trim()),
83+
Command::Sha1(input) => println!("{}", hasher::sha1(input).trim()),
84+
Command::Sha256(input) => println!("{}", hasher::sha256(input).trim()),
85+
Command::Sha512(input) => println!("{}", hasher::sha512(input).trim()),
7886
Command::Help => {}
7987
Command::Version => {}
8088
Command::Unknown(cmd) => {
@@ -230,10 +238,25 @@ pub fn parse_args(args: &mut Arguments) -> Result<Command, String> {
230238
args.free_from_str()
231239
.map_err(|e| format!("Missing argument for fdb: {}", e))?,
232240
),
241+
"md5" => Command::Md5(
242+
args.free_from_str()
243+
.map_err(|e| format!("Missing argument for md5: {}", e))?,
244+
),
245+
"sha1" => Command::Sha1(
246+
args.free_from_str()
247+
.map_err(|e| format!("Missing argument for sha1: {}", e))?,
248+
),
249+
"sha256" => Command::Sha256(
250+
args.free_from_str()
251+
.map_err(|e| format!("Missing argument for sha256: {}", e))?,
252+
),
253+
"sha512" => Command::Sha512(
254+
args.free_from_str()
255+
.map_err(|e| format!("Missing argument for sha512: {}", e))?,
256+
),
233257
"help" => Command::Help,
234258
_ => Command::Unknown(subcommand.to_string()),
235259
};
236260

237261
Ok(cmd)
238262
}
239-

0 commit comments

Comments
 (0)