[−][src]Enum sequoia_openpgp::crypto::s2k::S2K
String-to-Key (S2K) specifiers.
String-to-key (S2K) specifiers are used to convert password strings into symmetric-key encryption/decryption keys. See Section 3.7 of RFC 4880.
Variants
Simple
Simply hashes the password.
Fields of Simple
hash: HashAlgorithm
Hash used for key derivation.
Salted
Hashes the password with a public salt
value.
Fields of Salted
hash: HashAlgorithm
Hash used for key derivation.
salt: [u8; 8]
Public salt value mixed into the password.
Iterated
Repeatently hashes the password with a public salt
value.
Fields of Iterated
hash: HashAlgorithm
Hash used for key derivation.
salt: [u8; 8]
Public salt value mixed into the password.
iterations: u32
Number of bytes to hash.
Private(u8)
Private S2K algorithm
Unknown(u8)
Unknown S2K algorithm
Methods
impl S2K
[src]
pub fn derive_key(
&self,
string: &Password,
key_size: usize
) -> Result<SessionKey>
[src]
&self,
string: &Password,
key_size: usize
) -> Result<SessionKey>
Convert the string to a key using the S2K's paramters.
pub fn nearest_iteration_count(iters: usize) -> u32
[src]
Not all iteration counts are encodable as Iterated and Salted S2K. This function returns
an encodabled iteration count larger or equal iters
.
Note
The largest encodable iteration count is 0x3e00000.
pub fn decode_count(coded: u8) -> u32
[src]
Decodes the OpenPGP encoding of S2K iterations.
pub fn encode_count(iters: u32) -> Result<u8>
[src]
Converts iters
into coded count representation. Fails if iters
cannot be encoded. See
also nearest_iteration_count
.
impl S2K
[src]
pub fn serialized_len(&self) -> usize
[src]
Return the length of the serialized S2K data structure.
Trait Implementations
impl Serialize for S2K
[src]
fn serialize<W: Write>(&self, w: &mut W) -> Result<()>
[src]
Serializes this S2K instance.
fn to_vec(&self) -> Result<Vec<u8>>
[src]
Serializes the packet to a vector.
impl Eq for S2K
[src]
impl Copy for S2K
[src]
impl Default for S2K
[src]
impl PartialEq<S2K> for S2K
[src]
impl Clone for S2K
[src]
fn clone(&self) -> S2K
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Display for S2K
[src]
impl Hash for S2K
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Debug for S2K
[src]
impl Arbitrary for S2K
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,