一方向ハッシュを実行したい 128 ビット ID がありますが、入力メッセージに対して同じダイジェストを取得したくありません。sha-1または代替が、出力ダイジェストサイズ未満の一連のメッセージに対して衝突を生成しないことが保証されているかどうかは誰にもわかりませんか? これは少なくとも理論的には可能です...
また、RSA を使用し、秘密鍵を破棄して一方向の暗号化を行うことも検討しましたが、結果を 32 文字の DB フィールドに格納する必要があり、利用可能な暗号化スキームでは十分に小さいものは生成されません。
元の値の決定論的で可逆的で衝突のない変換を生成する別の方法の提案は大歓迎です。