2011-07-06 4 views
9

J'ai des données stockées dans CouchDb de la forme valeur-clé. Fondamentalement, c'est un tuple avec une valeur et du sel. J'ai créé une vue qui retourne ces tuples et calcule le sha1() de la valeur + sel du côté client en utilisant javascript. Est-il possible d'envoyer le hash sha1() de valeur + sel directement à partir de CouchDb comme JSON? Je ne souhaite pas envoyer le sel au client. Merci.Retour sha1() hash de couchdb

Répondre

7

Je suggère une implémentation Javascript SHA1 [1] directement sur CouchDB. Je pense que vous avez deux options:

  1. Calculez la somme de contrôle dans la vue. La vitesse de la requête sera inchangée, mais le code de la vue augmentera un peu.
  2. Calculer la somme de contrôle dans une fonction _list. La vitesse de requête sera (en principe) plus lente, puisque vous exécutez du code pour chaque ligne pour chaque requête; mais vos opinions peuvent rester simples.

Il existe une implémentation SHA1 Javascript dans CouchDB! Pointez votre navigateur sur votre serveur Couch, au /_utils/script/sha1.js. Vous pouvez copier et coller le code si vous le souhaitez.

[1] Ou envisager SHA256 ou SHA512 si possible.

+1

J'ai ajouté une note que CouchDB a une implémentation Javascript SHA1 que vous pouvez utiliser. (Il est pour les navigateurs, vous en avez besoin pour les serveurs, copiez-collez donc peut-être la solution la plus directe.) – JasonSmith

+0

Peut-on se débarrasser de la partie copier-coller? – Jaseem