2011-07-06 14 views
9

Ho alcuni dati memorizzati in CouchDb del modulo valore-chiave. Fondamentalmente è una tupla con un valore e sale. Ho creato una vista che restituisce queste tuple e calcola la sha1() del valore + sale sul lato client utilizzando javascript. È possibile inviare l'hash sha1() del valore + sale direttamente da CouchDb come JSON? Non desidero inviare il sale al cliente. Grazie.Restituire l'hash sha1() da couchdb

risposta

7

Suggerisco un'implementazione JavaScript SHA1 [1] direttamente su CouchDB. Penso che tu abbia due opzioni:

  1. Calcolare il checksum nella vista. La velocità della query rimarrà invariata, ma il codice di visualizzazione crescerà un po '.
  2. Calcolare il checksum in una funzione _list. La velocità delle query sarà (in linea di principio) più lenta, poiché eseguirai il codice per ogni riga per ogni query; ma i tuoi punti di vista possono rimanere semplici.

Esiste un'implementazione Javascript SHA1 in CouchDB! Puntare il browser sul server Couch, in /_utils/script/sha1.js. Puoi copiare e incollare il codice se lo desideri.

[1] O considerare SHA256 o SHA512 se possibile.

+1

Ho aggiunto una nota che CouchDB ha un'implementazione SHA1 Javascript che è possibile utilizzare. (È per i browser, ne hai bisogno per i server, quindi copiare e incollare può essere la soluzione più diretta.) – JasonSmith

+0

Possiamo in qualche modo sbarazzarci della parte di copia incolla? – Jaseem