|
1 | | -use ice::{base, caesar, extract, general, manipulation, morse, services, xor}; |
| 1 | +use ice::{base, caesar, extract, general, hasher, manipulation, morse, services, xor}; |
2 | 2 | use pico_args::Arguments; |
3 | 3 |
|
4 | 4 | #[derive(Debug)] |
@@ -34,6 +34,10 @@ pub enum Command { |
34 | 34 | UrlEncode(String), |
35 | 35 | UrlDecode(String), |
36 | 36 | FactorDb(String), |
| 37 | + Md5(String), |
| 38 | + Sha1(String), |
| 39 | + Sha256(String), |
| 40 | + Sha512(String), |
37 | 41 | Help, |
38 | 42 | Version, |
39 | 43 | Unknown(String), |
@@ -75,6 +79,10 @@ impl Command { |
75 | 79 | Command::UrlEncode(text) => println!("{}", general::url_encode(text).trim()), |
76 | 80 | Command::UrlDecode(text) => println!("{}", general::url_decode(text).trim()), |
77 | 81 | 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()), |
78 | 86 | Command::Help => {} |
79 | 87 | Command::Version => {} |
80 | 88 | Command::Unknown(cmd) => { |
@@ -230,10 +238,25 @@ pub fn parse_args(args: &mut Arguments) -> Result<Command, String> { |
230 | 238 | args.free_from_str() |
231 | 239 | .map_err(|e| format!("Missing argument for fdb: {}", e))?, |
232 | 240 | ), |
| 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 | + ), |
233 | 257 | "help" => Command::Help, |
234 | 258 | _ => Command::Unknown(subcommand.to_string()), |
235 | 259 | }; |
236 | 260 |
|
237 | 261 | Ok(cmd) |
238 | 262 | } |
239 | | - |
|
0 commit comments