SQL SHA1 à l'intérieur OÙ

Dans mon programme, nous stockons l'adresse IP de l'utilisateur dans un dossier. Lorsque l'on affiche une liste de dossiers pour un utilisateur, nous ne voulons pas donner l'autre IP de l'utilisateur, de sorte que nous hash SHA1 il. Ensuite, lorsque l'utilisateur clique sur un dossier, il va à une URL comme ceci:

http://www.example.com/allrecordsbyipaddress.php?ipaddress=SHA1HASHOFTHEIPADDRESS

Maintenant, j'ai besoin de la liste de tous les dossiers par l'adresse IP spécifiée dans le hash SHA1. J'ai essayé ceci:

SELECT * FROM records 
WHERE SHA1(IPADDRESS)="da39a3ee5e6b4b0d3255bfef95601890afd80709"

mais cela ne fonctionne pas. Comment puis-je faire?

Merci,
Isaac Waller

  • Pourquoi avez-vous simplement d'utiliser un hachage au lieu de l'adresse IP?
  • Avec cette approche, vous êtes le calcul de la SHA1 de toutes les adresses dans la base de données chaque fois que vous faites une requête. Qui sera étonnamment lent et consomme de grandes quantités de PROCESSEUR.
InformationsquelleAutor Isaac Waller | 2009-05-23