A worker that uses bcrypt to hash your passwords at the edge. Designed for use with an IdP solution or for creating accounts at the edge.
This Worker was built for Wordful, my multiplayer Wordle that needs a way to hash passwords for storage without having a dedicated VPS or machine doing it. I would have loved to use Argon2 however the current WASM implementations leave a lot to be desired and they currently only work in browsers.
POST /v1/hash
fetch('password-hasher.your.workers.dev/v1/hash',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
password: 'Hello, World'
})
}
)
Returns the hash result as the hash
key in the response.
POST /v1/compare
fetch('password-hasher.your.workers.dev/v1/hash',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
// the password you want to compare with.
password: 'Hello, World',
// the hash you saved from the first call to hash
hash: '$2a$13$OCtThZwrfMevsNggyeXnJum7D5Gksy71OVLnJvL8RmtCH5fPPzXpq'
})
}
)
Returns is_same
if the password matches the hash.