I settled on:

use Crypt::SaltedHash; # Individual registers as a new user, supplying a username # and a password/passphrase in a form on a web page. # But, for illustration: my $desired_password = 'Owning 2 boats is 1 boat too many!'; my $csh = Crypt::SaltedHash->new(algorithm => 'SHA-256'); $csh->add($desired_password); my $digest = $csh->generate; # Some might prefer to call 'digest' # something like 'hash_string' instead # Then the value of $digest is stored to a file or database # along with the corresponding username (not shown). # # By the way, for the $desired_password shown, the digest that # was generated is this string: # # {SSHA256}rn8PJZd//2EsEgHTBQ0izsN2T7AJMsLRH19oLIA5unaf8OaJ # # ...but it would be very different for you, because Crypt::SaltedHash # randomizes the "salt" used in the creation of the digest. And it # would be very different for me, if this script were to be run a # second time, even though it would be processing the same 'Owning 2 # boats is 1 boat too many!' desired password.

In another program, when the individual enters a username and a password/passphrase into a login form:

use Crypt::SaltedHash; my $asserted_password = ___; # Some process to retrieve the value # entered on a web form by the user, not illustrated here my $digest = ___; # Some retrieval process that looks up the earlier-s +tored # digest corresponding to the username, not illustrated here my $is_valid = Crypt::SaltedHash->validate( $digest, $asserted_passwor +d ); grant_account_access() if ( $is_valid );

In reply to Re: Replacing crypt() for password login via a digest - looking for stronger alternative by davebaker
in thread Replacing crypt() for password login via a digest - looking for stronger alternative by davebaker

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.