Je me pose la question parce que j'essaie de m'assurer que cette personne dispose de la bonne quantité d'espace pour son nom d'utilisateur.
Le nom d'utilisateur et le mot de passe sont des mesures de sécurité et ne devraient pas être faciles à deviner. J'ai un nombre fixe de caractères pour les mots de passe d'au moins 6 caractères car la plupart des sites utilisent 6 à 8 caractères lors de la création d'un compte. En raison de la limitation de mon fichier de base de données de programmes, je ne peux pas avoir de mots de passe de plus de 20 caractères. Qu'en est-il du champ Nom d'utilisateur? Un nom d'utilisateur trop court serait trop facile à deviner, trop long pourrait entraîner des erreurs de programme (car la longueur maximale d'une seule ligne TextBox en .Net/C # est d'environ 32 767 caractères).
Quelle devrait être la longueur maximale et minimale des champs Nom d'utilisateur et Mot de passe?
Entre 6 et 20 caractères pour un mot de passe est acceptable, bien que je ne restreigne pas normalement la longueur du mot de passe de manière aussi stricte à la fin (voir mon dernier commentaire en gras ci-dessous).
Un nom d'utilisateur doit cependant pouvoir être court. Si votre application nécessite que le nom d'utilisateur ne soit pas devinable, alors vous pourriez aussi bien demander deux mots de passe plutôt qu'un.
Si je suis un des premiers à adopter un produit/site Web/startup, j'aime pouvoir choisir un nom d'utilisateur court - peut-être mon prénom, après tout, c'est généralement un nom par lequel je me réfère à moi-même dans le contexte de votre demande, et un identifiant par lequel l'application me référera.
Par conséquent, je réfléchirais à deux fois avant de restreindre la longueur minimale d'un nom d'utilisateur - autre que non vide bien sûr. Dans tous les cas, vous devez valider un nom d'utilisateur par rapport à ceux qui existent déjà (je suggère une validation en ligne ici).
En ce qui concerne la longueur maximale , toute personne qui entre un nom d'utilisateur très long creuse un trou de toute façon, car elle pourrait bien avoir à taper ce nom d'utilisateur fréquemment à l’avenir.
Vous devriez également penser au-delà de la restriction de longueur maximale de la zone de texte quant à l'endroit et à la façon dont ce nom d'utilisateur pourrait être stocké, affiché et utilisé à l'avenir. Pourrait-il jamais faire partie d'une adresse e-mail, d'un nom de fichier, d'un préfixe de domaine de sous-niveau, etc., etc. (je suis sûr que vous aurez des questions plus pertinentes pour votre propre contexte d'application).
Je suis déchiré entre l'option "pourquoi la restreindre du tout" et l'option "rester suffisamment courte pour ne jamais être un problème". Je crois que 32767 serait une erreur qui pourrait revenir vous mordre à un moment futur et je conseillerais une option où vous pouvez comprendre et gérer une quantité connue à l'avenir avec le minimum de tracas.
Pour cette raison, tout en tenant compte de la considération ci-dessus concernant les utilisations futures, je ferais la longueur du nom d'utilisateur aussi longue que possible, mais pas plus courte que nécessaire.
Le norme RFC est généralement d'environ 254 caractères (par exemple pour les e-mails), donc je m'en tiendrai à celui-là ...
La longueur minimale du mot de passe pour les systèmes qui traitent les numéros de carte de crédit doit être de 7 caractères alphanumériques selon Normes de sécurité PCI .