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}