Je vois dans la config/initializers/devise.rb, il y a une configuration appelée "config.stretches". Je ne comprends pas ce que signifie stretches
. Il dit que c'est le moment où je veux le mot de passe "re-encrypted". Pourquoi et nous le mot de passe sera re-crypté? Et pourquoi devrais-je spécifier un "times"?Que signifient les "étirements" de database_authenticatable de test?
4
A
Répondre
7
La réponse courte est que cela rend les attaques de dictionnaire de la force brute prennent plus de temps.
This blog post est écrit en anglais assez simple, et peut vous donner une meilleure idée de ce qui se passe.
Questions connexes
- 1. Que signifient les paramètres de CGPathAddCurveToPoint?
- 2. Que signifient les valeurs de tload?
- 3. Que signifient les options de type backticked?
- 4. Que signifient les icônes fléchées dans Subclipse? Que signifient les icônes de la capture d'écran suivante?
- 5. Que signifient "\\. \", "\ ?? \", "\\?", "\\"
- 6. Que signifient les icônes dans Eclipse? Que signifient les icônes dans le débogueur Eclipse?
- 7. PHP ZipArchive que signifient les valeurs de statut?
- 8. Que signifient les génériques imbriqués en C#?
- 9. Que signifient les constantes ElementType d'annotation Java?
- 10. Que signifient les couleurs du DOM FireBug?
- 11. Que signifient les icônes du serveur sql?
- 12. Que signifient les différents curseurs Tk?
- 13. Que signifient ces erreurs?
- 14. Que signifient les parenthèses dans x86 asm?
- 15. Que signifient les modes de fusion dans pygame?
- 16. Que signifient les nombres dans la trace de la pile?
- 17. Que signifient les noms de variables commençant par _?
- 18. Que signifient les couleurs de la marge Visual Studio?
- 19. Que signifient les nombres dans la sortie de rsync?
- 20. Que signifient les parenthèses dans une déclaration de variable C?
- 21. Que signifient les colonnes de l'instrument Object Alloc?
- 22. Types de classe java - que signifient-ils?
- 23. Que signifient Response.Cache.SetCacheability et Response.Cache.SetAllowResponseInBrowserHistory?
- 24. Que signifient ces codes WndProc?
- 25. Que signifient __STDC_LIMIT_MACROS et __STDC_CONSTANT_MACROS?
- 26. Que signifient ces constructions Makefile?
- 27. Que signifient ces avertissements rubis?
- 28. Que signifient + et * dans regex?
- 29. Que signifient les crochets dans les journaux LaTeX?
- 30. Que signifient les icônes pour les méthodes dans Eclipse?
Merci pour votre réponse. Ce poste est un peu difficile pour moi, que je ne comprends toujours pas, désolé. Pourquoi dites-vous que cela peut rendre les attaques plus longues? Si je le réinitialise à 100, que se passera-t-il? – Freewind
Ensuite, il faudra 10x plus de travail pour calculer vos hachages de mot de passe. Le point de ceci est que c'est cher de générer le hachage de mot de passe. Quand vous avez juste besoin de 1 (comme quand quelqu'un se connecte), alors pas de problème. Vous ne remarquerez pas le temps supplémentaire. Vous essayez de rendre plus ennuyeux/impossible pour quelqu'un d'effectuer une attaque de dictionnaire dans un laps de temps raisonnable. Ils ont besoin de générer beaucoup de hachages, donc le plus lent sera le mieux (pour vous, pas eux). – jdl
Wikipedia a un article décent sur ce sujet. Je ne crois pas que bcrypt fasse exactement cela (je ne comprends pas l'algorithme de bcrypt à un degré quelconque), mais l'idée est la même. http://en.wikipedia.org/wiki/Key_stretching – jdl