Sto scrivendo un semplice sistema di gestione dei contenuti. Ho bisogno di memorizzare i valori di hash SHA1 che sono calcolati esternamente come chiave primaria per la mia tabella più grande.Memorizzazione della firma SHA1 come chiave primaria in Postgres SQL
Posso ovviamente usare una sequenza come chiave primaria e indicizzare la stringa esadecimale SHA1 per la ricerca ... Tuttavia, sto cercando una soluzione più elegante, dove userò semplicemente il 20-byte SHA1 valori calcolati come chiave data per le righe che sto per inserire/cancellare/aggiornare nella tabella del database. Esiste un tipo di archiviazione efficiente che posso utilizzare per archiviare e in seguito utilizzare i tasti SHA1 come chiavi principali?
Avrò ovviamente bisogno di postgres per supportare l'utilizzo di valori a 20 byte come chiavi per ottenere questo risultato.
Chiunque abbia qualche idea?
Btw, tieni presente che tutte le chiavi di hash potrebbero scontrarsi, anche SHA1. –
Non mi preoccuperei delle collisioni di hash con un'implementazione corretta di SHA1 :) Vedi http://stackoverflow.com/questions/297960/hash-collision-what-are-the-chances – wojo