運営側も個人個人のパスワードは見たくないので、ハッシュ関数を通して通信、保存するのがセオリーです。ただ、古いハッシュ関数 MD5 には脆弱性が発見され、普通のPCでもサクッと同じハッシュ値のデータを生成できてしまうとのこと。CUDA Cで実装すると瞬間で分かっちゃうかもしれませんね!
「code4fukui/MD5 - GitHub」
GitHubにてJavaScriptの実装を検索、発見した「wbond/md5-js(更に元は Joseph MyersさんのMD5)」をESモジュール化し、他のハッシュ関数と同様、Uint8Arrayに対応した、MD5.js としてリメイクしました。(参考、コミットログ)
「file2hash」src on GitHub
ハッシュにSHA-3の、最大256bitまでの可変長ハッシュ関数、SHAKE128を128bitで生成するものと、古のMD5を加えたものです。今のところ脆弱性が報告されていないSHA-2やSHA-3で、必要な強度に合わせて長さを選択しましょう。参考までにMD5も表示しています。
サイト毎にIDパスワードを持つ時代はそろそろ終了したいですね。