私は簡単なコンテンツ管理システムを書いています。 私の最大のテーブルの主キーとして外部的に計算されるSHA1ハッシュ値を格納する必要があります。Postgres SQLの主キーとしてSHA1署名を格納する
シーケンスをプライマリキーとして使用し、ルックアップのためにSHA1の16進文字列にインデックスを付けることができます... しかし、私は単純に20バイトを使用するより洗練されたソリューションを探していますSHA1は、データベーステーブルに挿入/削除/更新しようとしている行のキーとして値を計算しました。 SHA1キーを保存して後で主キーとして使用できる効率的なストレージタイプはありますか?
これを達成するためにキーとして20バイト値を使用することをサポートするには、明らかにpostgresが必要です。
誰でもアイデアがありますか?
Btwの場合、すべてのハッシュキーが衝突する可能性があります(SHA1も同様です)。 –
私はSHA1の適切な実装でハッシュの衝突について心配しないでしょう:) http://stackoverflow.com/questions/297960/hash-collision-what-are-the-chancesを参照してください。 – wojo