libcrypt_rs/encryptions.rs
1//! Encryption methods.
2pub enum Encryptions {
3 /// MD5 encryption method.
4 Md5,
5 /// sha256 encryption method.
6 Sha256,
7 /// sha512 encryption method.
8 Sha512,
9 /// yescrypt encryption method.
10 Yescrypt,
11}
12
13impl Encryptions {
14 /// Returns salt prefix for selected encryption method.
15 /// ```
16 /// use libcrypt_rs::Encryptions;
17 ///
18 /// let encryption = Encryptions::Md5;
19 /// println!("Salt prefix for MD5 encryption: '{}'", encryption.decode());
20 /// ```
21 pub fn decode(&self) -> String {
22 match self {
23 Self::Md5 => return "$1$".to_string(),
24 Self::Sha256 => return "$5$".to_string(),
25 Self::Sha512 => return "$6$".to_string(),
26 Self::Yescrypt => return "$y$".to_string()
27 }
28 }
29}