金融会社のWebサイトに電話をかけたところ、電話のキーパッドでパスワードを入力するように求められ、アルファベット文字が対応する数字に、特殊記号が「*」に変換されました。
どのようにすれば、内部的にリバーシブル形式でパスワードを保存せずにこれを機能させることができるでしょうか?パスワードのソルトハッシュを保存すると、可能なすべての数字->アルファの組み合わせとすべての可能な '*'->記号のマッピングをチェックしない限り、この種のパスワード検証はできません。
1つの可能性は、2番目にハッシュされたパスワードを格納することです。ハッシュされた実際のパスワードを保存し、同時にその平文パスワードをキーパッドの同等物にマッピングし、キーパッドの同等物を2番目のハッシュ(および2番目のソルト)として保管します。