pub struct Argon2<'key> { /* private fields */ }Expand description
Implementations§
Source§impl<'key> Argon2<'key>
impl<'key> Argon2<'key>
Sourcepub fn new(algorithm: Algorithm, version: Version, params: Params) -> Self
pub fn new(algorithm: Algorithm, version: Version, params: Params) -> Self
Create a new Argon2 context.
Sourcepub fn new_with_secret(
secret: &'key [u8],
algorithm: Algorithm,
version: Version,
params: Params,
) -> Result<Self>
pub fn new_with_secret( secret: &'key [u8], algorithm: Algorithm, version: Version, params: Params, ) -> Result<Self>
Create a new Argon2 context.
Sourcepub fn hash_password_into(
&self,
pwd: &[u8],
salt: &[u8],
out: &mut [u8],
) -> Result<()>
Available on crate feature alloc only.
pub fn hash_password_into( &self, pwd: &[u8], salt: &[u8], out: &mut [u8], ) -> Result<()>
alloc only.Hash a password and associated parameters into the provided output buffer.
Sourcepub fn hash_password_into_with_memory(
&self,
pwd: &[u8],
salt: &[u8],
out: &mut [u8],
memory_blocks: impl AsMut<[Block]>,
) -> Result<()>
pub fn hash_password_into_with_memory( &self, pwd: &[u8], salt: &[u8], out: &mut [u8], memory_blocks: impl AsMut<[Block]>, ) -> Result<()>
Hash a password and associated parameters into the provided output buffer.
This method takes an explicit memory_blocks parameter which allows
the caller to provide the backing storage for the algorithm’s state:
- Users with the
allocfeature enabled can useArgon2::hash_password_intoto have it allocated for them. no_stdusers on “heapless” targets can use an array of theBlocktype to stack allocate this buffer.
Sourcepub fn fill_memory(
&self,
pwd: &[u8],
salt: &[u8],
memory_blocks: impl AsMut<[Block]>,
) -> Result<()>
pub fn fill_memory( &self, pwd: &[u8], salt: &[u8], memory_blocks: impl AsMut<[Block]>, ) -> Result<()>
Use a password and associated parameters only to fill the given memory blocks.
This method omits the calculation of a hash and can be used when only the filled memory is required. It is not necessary to call this method before calling any of the hashing functions.
Trait Implementations§
Source§impl PasswordHasher for Argon2<'_>
Available on crate features alloc and password-hash only.
impl PasswordHasher for Argon2<'_>
Available on crate features
alloc and password-hash only.Source§fn hash_password<'a>(
&self,
password: &[u8],
salt: impl Into<Salt<'a>>,
) -> Result<PasswordHash<'a>>
fn hash_password<'a>( &self, password: &[u8], salt: impl Into<Salt<'a>>, ) -> Result<PasswordHash<'a>>
Simple API for computing a
PasswordHash from a password and
salt value. Read moreSource§fn hash_password_customized<'a>(
&self,
password: &[u8],
alg_id: Option<Ident<'a>>,
version: Option<Decimal>,
params: Params,
salt: impl Into<Salt<'a>>,
) -> Result<PasswordHash<'a>>
fn hash_password_customized<'a>( &self, password: &[u8], alg_id: Option<Ident<'a>>, version: Option<Decimal>, params: Params, salt: impl Into<Salt<'a>>, ) -> Result<PasswordHash<'a>>
Compute a
PasswordHash from the provided password using an
explicit set of customized algorithm parameters as opposed to the
defaults. Read moreAuto Trait Implementations§
impl<'key> Freeze for Argon2<'key>
impl<'key> RefUnwindSafe for Argon2<'key>
impl<'key> Send for Argon2<'key>
impl<'key> Sync for Argon2<'key>
impl<'key> Unpin for Argon2<'key>
impl<'key> UnwindSafe for Argon2<'key>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> PasswordVerifier for Twhere
T: PasswordHasher,
impl<T> PasswordVerifier for Twhere
T: PasswordHasher,
Source§fn verify_password(
&self,
password: &[u8],
hash: &PasswordHash<'_>,
) -> Result<(), Error>
fn verify_password( &self, password: &[u8], hash: &PasswordHash<'_>, ) -> Result<(), Error>
Compute this password hashing function against the provided password
using the parameters from the provided password hash and see if the
computed output matches.