Piszę prosty system zarządzania treścią. Potrzebuję przechowywać wartości mieszania SHA1, które są obliczane zewnętrznie jako klucz podstawowy dla mojej największej tabeli.Przechowywanie podpisu SHA1 jako klucza głównego w Postgres SQL
Oczywiście mogę użyć sekwencji jako klucza podstawowego i indeksować ciąg szesnastkowy SHA1 do wyszukiwania ... Jednak szukam bardziej eleganckiego rozwiązania, w którym po prostu użyję 20-bajtowego SHA1 wyliczył wartości jako dany klucz do wierszy, które zamierzam wstawić/usunąć/zaktualizować w tabeli bazy danych. Czy istnieje skuteczny typ pamięci, który można użyć do przechowywania, a następnie używać kluczy SHA1 jako kluczy podstawowych?
Oczywiście będę potrzebował postgrera do obsługi przy użyciu 20-bajtowych wartości jako kluczy do wykonania tego.
Ktoś ma jakieś pomysły?
Btw, należy pamiętać, że wszystkie klawisze mieszające mogą się kolidować, nawet SHA1. –
Nie martwię się o kolizje haszy z prawidłową implementacją SHA1 :) Zobacz http://stackoverflow.com/questions/297960/hash-collision-what-are-the-chances – wojo