<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>hsh: password hashing for Rust, with rehash on login</title>
    <link>https://hshlib.com/</link>
    <description>hsh is a password hashing library for Rust: Argon2id, bcrypt, scrypt and PBKDF2 behind one policy, PHC strings, rehash on login when the policy changes, a versioned pepper, a FIPS 140-3 mode and a command-line tool.</description>
    <atom:link href="https://hshlib.com/rss.xml" rel="self" type="application/rss+xml"/>
    <language>en</language>
    <item>
      <title>API guide: policies, the builder, Cargo features and crates | hsh</title>
      <link>https://hshlib.com/documentation/</link>
      <description>A guide to hsh&apos;s API: the two calls, the policy presets and builder, the outcomes, errors, every Cargo feature and the crates in the workspace.</description>
      <guid isPermaLink="true">https://hshlib.com/documentation/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>About hsh and its author, Sebastien Rousseau | hsh</title>
      <link>https://hshlib.com/about/</link>
      <description>Who builds hsh, and the facts about the project: its crates, licence, Rust version, latest release, and where its source and security policy live.</description>
      <guid isPermaLink="true">https://hshlib.com/about/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Accessibility statement | hsh</title>
      <link>https://hshlib.com/accessibility/</link>
      <description>How hshlib.com is built to be accessible, how it is checked on every build, and how to report a barrier.</description>
      <guid isPermaLink="true">https://hshlib.com/accessibility/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Changelog: hsh releases up to 0.0.12 | hsh</title>
      <link>https://hshlib.com/changelog/</link>
      <description>What changed in hsh&apos;s recent releases, from the 0.0.9 rewrite to the FIPS backend in 0.0.10 and the partial 0.0.12 release, with links to the full changelog.</description>
      <guid isPermaLink="true">https://hshlib.com/changelog/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Contact the hsh project | hsh</title>
      <link>https://hshlib.com/contact/</link>
      <description>Send a question or feedback about hsh or hshlib.com. Bugs and feature requests are best filed as GitHub issues, and security reports go privately.</description>
      <guid isPermaLink="true">https://hshlib.com/contact/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Contributing to hsh | hsh</title>
      <link>https://hshlib.com/contribute/</link>
      <description>How to contribute to hsh: filing a useful issue, the checks a pull request passes, the commit style and the rules on unsafe code and random sources.</description>
      <guid isPermaLink="true">https://hshlib.com/contribute/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Features: one policy, rehash on login, pepper and FIPS 140-3 mode | hsh</title>
      <link>https://hshlib.com/features/</link>
      <description>What hsh does: hashing and verifying under one policy, rehash on login, Argon2id, bcrypt, scrypt and PBKDF2, a versioned HMAC pepper, a fail-closed FIPS 140-3 mode, safety rails, a command-line tool and general-purpose digests.</description>
      <guid isPermaLink="true">https://hshlib.com/features/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Frequently asked questions about hsh | hsh</title>
      <link>https://hshlib.com/faqs/</link>
      <description>Answers about hsh: what it is, quantum resistance, choosing an algorithm, migrating hashes, FIPS 140-3, cloud peppers, long bcrypt passwords, no_std, versions and the licence.</description>
      <guid isPermaLink="true">https://hshlib.com/faqs/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Getting started with hsh: hash, verify and upgrade a password | hsh</title>
      <link>https://hshlib.com/getting-started/</link>
      <description>Add hsh to a Rust project, hash a password under the OWASP 2025 policy, verify it and save the upgraded hash, choose another algorithm, and install the command-line tool.</description>
      <guid isPermaLink="true">https://hshlib.com/getting-started/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Made with Static Site Generator | hsh</title>
      <link>https://hshlib.com/made-with-ssg/</link>
      <description>hshlib.com is built with Static Site Generator (SSG) and the cipher theme, and deployed to GitHub Pages by GitHub Actions.</description>
      <guid isPermaLink="true">https://hshlib.com/made-with-ssg/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Migrate to hsh from bcrypt, rust-argon2, argonautica or an older hsh | hsh</title>
      <link>https://hshlib.com/migration/</link>
      <description>How to move password storage to hsh from the bcrypt, rust-argon2 or argonautica crates or from an older hsh, keeping existing hashes valid and upgrading them as users sign in.</description>
      <guid isPermaLink="true">https://hshlib.com/migration/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Page not found | hsh</title>
      <link>https://hshlib.com/404/</link>
      <description>The page you asked for is not on hshlib.com.</description>
      <guid isPermaLink="true">https://hshlib.com/404/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Performance: calibrating the cost of a password hash | hsh</title>
      <link>https://hshlib.com/benchmarks/</link>
      <description>How long hsh takes to hash a password depends on the parameters and the machine. How to measure it with hsh calibrate and the Criterion benchmarks, and why no fixed numbers are published.</description>
      <guid isPermaLink="true">https://hshlib.com/benchmarks/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Privacy: what hshlib.com collects | hsh</title>
      <link>https://hshlib.com/privacy/</link>
      <description>What happens to your data on hshlib.com: hosting on GitHub Pages, the contact form, and the theme preference stored in your browser.</description>
      <guid isPermaLink="true">https://hshlib.com/privacy/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Security: reporting, what hsh defends against, and verifying a release | hsh</title>
      <link>https://hshlib.com/security/</link>
      <description>How to report a vulnerability in hsh, what it defends against, what is a stub or not yet done, the checks that run, and how to verify a release.</description>
      <guid isPermaLink="true">https://hshlib.com/security/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
    <item>
      <title>Terms of use | hsh</title>
      <link>https://hshlib.com/terms/</link>
      <description>The terms for using hshlib.com and the licences that apply to hsh and to this website&apos;s source.</description>
      <guid isPermaLink="true">https://hshlib.com/terms/</guid>
      <pubDate></pubDate>
      <author>Sebastien Rousseau</author>
    </item>
  </channel>
</rss>
