# NAME

Crypt::Passphrase::SaltedHash - Validate against Crypt::SaltedHash hashes with Crypt::Passphrase

# SYNOPSIS

```perl
my $authenticator = Crypt::Passphrase->new(
    encoder    => 'Argon2',
    validators => [ 'SaltedHash' ],
);

...

if (!$authenticator->verify_password($password, $hash)) {
    die "Invalid password";
}
elsif ($authenticator->needs_rehash($hash)) {
    my $new_hash = $authenticator->hash_password($password);
    ...
}
```

# DESCRIPTION

This module implements a validator against hashes generated by [Crypt::SaltedHash](https://metacpan.org/pod/Crypt%3A%3ASaltedHash).

# RECENT CHANGES

Changes for version 0.02 (2026-05-23)

- Tests
    - Changed Crypt::SaltedHash to be an optional prerequisite.

See the `Changes` file for more details.

# REQUIREMENTS

This module lists the following modules as runtime dependencies:

- [Crypt::Passphrase::Validator](https://metacpan.org/pod/Crypt%3A%3APassphrase%3A%3AValidator)
- [Digest](https://metacpan.org/pod/Digest) version 1.19 or later
- [MIME::Base64](https://metacpan.org/pod/MIME%3A%3ABase64)
- [parent](https://metacpan.org/pod/parent)
- [perl](https://metacpan.org/pod/perl) version v5.6.0 or later
- [strict](https://metacpan.org/pod/strict)
- [warnings](https://metacpan.org/pod/warnings)

See the `cpanfile` file for the full list of prerequisites.

# INSTALLATION

The latest version of this module (along with any dependencies) can be installed from [CPAN](https://www.cpan.org) with the `cpan` tool that is included with Perl:

```
cpan Crypt::Passphrase::SaltedHash
```

You can also extract the distribution archive and install this module (along with any dependencies):

```
cpan .
```

You can also install this module manually using the following commands:

```
perl Makefile.PL
make
make test
make install
```

If you are working with the source repository, then it may not have a `Makefile.PL` file.  But you can use the [Dist::Zilla](https://dzil.org/) tool in anger to build and install this module:

```
dzil build
dzil test
dzil install --install-command="cpan ."
```

For more information, see [How to install CPAN modules](https://www.cpan.org/modules/INSTALL.html).

# SUPPORT

Please report any bugs or feature requests on the bugtracker website
[https://github.com/robrwo/perl-Crypt-Passphrase-SaltedHash/issues](https://github.com/robrwo/perl-Crypt-Passphrase-SaltedHash/issues)

When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired
feature.

# SOURCE

The development version is on github at [https://github.com/robrwo/perl-Crypt-Passphrase-SaltedHash](https://github.com/robrwo/perl-Crypt-Passphrase-SaltedHash)
and may be cloned from [https://github.com/robrwo/perl-Crypt-Passphrase-SaltedHash.git](https://github.com/robrwo/perl-Crypt-Passphrase-SaltedHash.git)

# AUTHOR

Robert Rothenberg <perl@rhizomnic.com>

# COPYRIGHT AND LICENSE

This software is Copyright (c) 2026 by Robert Rothenberg <perl@rhizomnic.com>.

This is free software, licensed under:

```
The Artistic License 2.0 (GPL Compatible)
```

# SEE ALSO

[Crypt::Passphrase](https://metacpan.org/pod/Crypt%3A%3APassphrase)

[Crypt::SaltedHash](https://metacpan.org/pod/Crypt%3A%3ASaltedHash)
