2016-08-25 1 views
0

Libsodium recommande de choisir la quantité maximale de mémoire que vous avez "garanti" lorsque vous utilisez la fonction de hachage Argon2. Mon problème est comment pouvons-nous trouver cela? D'après ce que je comprends, puisque mon site est interactif (c.-à-utilise MySQL, plusieurs pages de demande, etc.), je pouvais courir dans une variété de situations, comme:Choisir MemoryLimit pour Argon2 en PHP

  1. Avoir plusieurs utilisateurs accèdent à la même page de la fonction de hachage à à peu près le même temps, la surcharge du système et le fonctionnement de la mémoire physique,
  2. des utilisateurs ayant accès à d'autres pages, dont ajouter utilisation de la mémoire pour produire un semblable « accident » dès qu'un utilisateur essaie d'utiliser la fonction,
  3. Une combinaison des deux

Obvi Les probabilités sont plutôt faibles, et encore moins d'utilisateurs utilisant le serveur en même temps. Cependant, si je veux le hachis le plus fort que je puisse me permettre, je dois le savoir au moins en gros. Je n'ai que 1 Go de RAM au total.

Y at-il des vérifications de la mémoire que je peux mettre dans mes scripts PHP pour m'assurer que le serveur ne plante pas? N'y a-t-il rien que je puisse faire?

(Voir: https://download.libsodium.org/libsodium/content/password_hashing/the_argon2i_function.html)

Répondre

0

Si vous êtes préoccupé par l'épuisement de la mémoire, allouer un espace d'échange.

Vous voudrez certainement utiliser au moins 32 Mo de RAM et> = 3 passes. \Sodium\CRYPTO_PWHASH_*_INTERACTIVE vous donne ce seuil minimum.