Quelle est la longueur préférée d'un nom d'utilisateur et d'un mot de passe?
Je suis l'élaboration d'un module de connexion. Je me demande juste quelle est la préférée de la longueur du nom d'utilisateur et le mot de passe que vous pourriez jamais permettre et pourquoi?
Merci d'avance!
source d'informationauteur dpp
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas beaucoup de point en plaçant arbitrairement de limite de taille sur les noms d'utilisateur. Mais en cas de besoin (par exemple pour une base de données de largeur de colonne), vous devez le faire assez grand pour que vous ne risquez pas de le regretter dans le futur. (Où je travaille, les noms de 8 caractères, avec les deux premiers caractères étant la même pour tous les employés ... duh!)
C'est une MAUVAISE IDÉE de placer une limite de taille sur les mots de passe.
La principale raison, c'est une mauvaise idée, c'est que plus le mot de passe des utilisateurs est grand, plus l'entropie, et donc plus il sera difficile à deviner. En limitant la longueur du mot de passe vous sont potentiellement induire l'utilisateur d'utiliser un mauvais mot de passe. (Non pas que les utilisateurs typiques besoin de beaucoup d'induire ... malheureusement.)
Une deuxième raison est qu'il suggère que vous stockez les mots de passe dans une table de base de données. Ce serait une GRANDE ERREUR, car il risque de placer les utilisateurs des mots de passe exposé si votre système de sécurité est compromise. Vous devez stocker un salée de hachage cryptographiques de l'utilisateur mot de passe (qui peut avoir une taille limitée) dans la base de données, et de vérifier le mot de passe remis par le hachage et en la comparant avec le hash stocké.
Si vous parlez minimum longueurs (pour les mots de passe), vous devriez probablement se concentrer sur l'entropie plutôt que la longueur du mot de passe. (Un mot de passe composé de 20 "1"est de moins en moins sûre généré de façon aléatoire une séquence de 6 caractères).
(Doit être salé ... mon mauvais.)
Je veux juste corriger une éventuelle incompréhension de ce que j'ai dit ci-dessus. Un long mot de passe n'est pas nécessairement un bon mot de passe (par l'exemple). Mais cela ne signifie pas que vous devez "vous inquiétez pas au sujet de la durée". Trop court de mots de passe (même aléatoire) sont tout simplement trop facile à deviner.
Si votre but est de décourager ou prévenir les utilisateurs de définir des mots de passe faciles à deviner, alors vous devriez utiliser une sorte de mot de passe de la qualité de vérificateur d'éliminer les "mauvais" au moment de l'utilisateur set /reset son mot de passe.
Une Recherche Google pour "mot de passe de l'entropie" ou "mot de passe de l'entropie des mesures" vous donnera quelques pistes. Et voici une de proximité:
(Remarque: le chiffrement de hachage approche est de ne PAS STOCKER le mot de passe ... pas sur la longueur du mot de passe. Un mauvais mot de passe ne sera pas sécurisé, peu importe comment votre logiciel gère.)
Nom d'utilisateur limites ne sont pas un gros problème, sauf si vous êtes inquiet au sujet de minimiser la taille de la base; mais si c'est un souci, je doute très nombreux utilisateurs ont des noms d'utilisateurs de plus de 64 caractères.
Comme pour les mots de passe je n'aime pas le jeu dur des limites supérieures; depuis que je suis idéalement prendre un salée hachage du mot de passe avant que je le stocker dans la base de données, il va avoir une longueur fixe (en raison de la fonction de hachage) et ainsi de limiter la longueur du mot de passe n'est pas de réduire la taille de base de données que ce soit. Donc, si quelqu'un veut utiliser un générés de façon aléatoire de 128 caractères du mot de passe, ils peuvent aller droit de l'avant - plus sûr de cette façon.
Pour moi, j'ai créer un nom d'utilisateur de type varchar(25) et le mot de passe de type varchar(100) pourquoi?
parce que j'ai déjà été de créer un grand nombre de comptes et j'ai trouvé que la longueur maximale de créer le nom d'utilisateur est 21, tandis que le mot de passe est de 26 mais lorsque le mot de passe de cryptage, il est beaucoup mieux d'utiliser un grand 🙂
le souhaitez, il vous aide à
À mon avis, chacun est responsable de son login et son une application web qui agace quelqu'un inutilement règles, n'est pas celui que je voudrais utiliser. Donc, faire votre propre idée.
Dans l'ensemble, si vous n'êtes pas vendre quelque chose et une insécurité de connexion des effets de vos propres données, il devrait être aussi enregistrer en tant que possible, les moyens d'un mot de passe ALÉATOIRE (par exemple: http://www.pctools.com/guides/password/) et bien sûr stockées dans la base de données chiffrées.
Edit: le Chiffrement est de loin pas suffisant, le hachage est mieux, mais toujours pas la meilleure approche. Le hachage et le salage ou de hachage les étirements sont beaucoup mieux. De bons postes sont par exemple La meilleure façon de stocker le mot de passe dans la base de données ou https://nakedsecurity.sophos.com/2013/11/20/serious-security-how-to-store-your-users-passwords-safely/.