"Votre mot de passe ne peut pas contenir d'espaces." est un message que je vois sur certains sites Web, y compris 1 .
Pourquoi? (Cette question est très similaire à Pourquoi interdire les caractères spéciaux dans un mot de passe? , mais les réponses ne semblent pas s'appliquer au caractère espace).
Certains systèmes suppriment apparemment tous les espaces avant de hacher le mot de passe. ( Comment Google ne se soucie-t-il pas des "espaces" dans les mots de passe spécifiques à l'application? )
Pourquoi ne pas simplement hacher tout ce que l'utilisateur a tapé, les espaces et tout?
Je ne peux pas l'expliquer comme quoi que ce soit au-delà de la folie héritée, ou en copiant paresseusement des restrictions de nom d'utilisateur dans des restrictions de mot de passe sans prévoyance.
Tout bloc de données, imprimable ou autre, devrait être acceptable si vous hachez vos mots de passe. Les seules restrictions devraient être une complexité minimale et une longueur maximale "raisonnable" afin que quelqu'un n'absorbe pas 1 Mo de bande passante (et le temps processeur correspondant pour hacher l'entrée car vous utilisez un algorithme lent, non?) À chaque connexion.
Les espaces de début et de fin peuvent être problématiques pour les personnes lâches avec le copier-coller. Sinon, d'accord avec les autres postes, pas de bonne raison.
Bien, quels autres personnages bloquons-nous? tab, cr, lf, backspace, bip ☻☺ ♪ ▬ ♣. ?
La réponse simple est que c'est une mauvaise politique de mot de passe.
Je ne vois aucune raison particulièrement bonne pour interdire le caractère spatial. Il s'agit probablement d'une exigence arbitraire imposée par une personne bien intentionnée mais erronée.
Je ne peux penser à aucune raison de sécurité solide autre que cela décourage les gens d'utiliser des phrases réelles comme mots de passe, ce qui serait très dangereux s'ils avaient un sens réel. À strictement parler, il n'y a rien d'insécurité dans un espace dans un mot de passe s'il maintient une bonne entropie, donc les gens étant "créatifs" sont la seule vraie chose que je puisse voir.
Il peut également y avoir un problème d'utilisation, car il est difficile de s'assurer visuellement que les espaces sont corrects si le mot de passe est rendu visiblement. (Est-ce un espace ou 4, accordé s'il apparaît un * s alors il est facilement dénombrable.)
C'est une très bonne politique de commodité, et après l'avoir vu du côté du support client - je pense que cela devrait être mis en œuvre partout.
Vous pouvez écrire le mot de passe comme ceci: "abc def ghi" et le copier sur un morceau de papier, ou copier-coller.
Il est tout simplement plus facile de supprimer tous les espaces que de répéter à tout le monde:
Ce qui est généralement une réponse à la question:
ce n'est que sur la sémantique programmatique. presque tout gère le caractère espace "" ou "" différent des autres symboles comme "a" ou "dds".
le caractère d'espace vide est regroupé dans d'autres caractères étranges tels que de nouvelles lignes - '\ n' ou des caractères vides - ''
Ce n'est pas non plus unique, car certains caractères spéciaux sur certains environnements informatiques n'ont pas de représentation et sont analysés en un caractère vierge ''
Dans certains environnements informatiques où nous transmettions des fichiers de MAc à Windows à Linux, nous nous sommes parfois retrouvés avec ('' == '') pour produire un résultat FAUX (le signe double égal signifie simplement un opérateur de comparaison). C'était faux car il y avait des symboles cachés dans l'espace que nous ne pouvions pas voir en raison des cultures informatiques différentes dans notre équipe.
Je ne sais pas si ce problème se produira jamais lorsque vous parlerez de mots de passe stricts, mais le fait de ne pas avoir d'espaces dans des zones spéciales telles que les mots de passe et les noms de fonction et les noms de fichiers est sans aucun doute la meilleure façon de procéder. L'analyse des espaces dans les noms de fichiers est une toute autre histoire, certains programmes ajoutant un% à un espace pour supprimer l'espace afin que le nom soit le% name
Sur la plupart des claviers, la touche Espace produit un son légèrement différent de celui de toute autre touche.
Considérez le scénario dans lequel une personne entend quelqu'un d'autre taper son mot de passe.
Si cette personne est capable de comprendre que le mot de passe est composé, par exemple, de 3 caractères + un espace + 4 caractères, cela pourrait être un indice très utile dans certains cas.
Je crois que la plupart des non-programmeurs estiment (consciemment ou non) que le caractère spatial est essentiellement différent des autres caractères en ce qu'il ne sert qu'à séparer les mots les uns des autres; être juste des métadonnées au lieu de données.
Ce sentiment est renforcé par le fait qu'il n'y a pas de son correspondant au caractère spatial. La plupart des gens se souviennent de leurs mots de passe sous une forme prononcée (à quoi ils ressemblent lorsqu'ils sont prononcés à haute voix) au lieu de la forme visuelle (à quoi ils ressemblent lorsqu'ils sont écrits).
Par conséquent, ils considéreraient inconsciemment "Mon mot de passe", "Mon mot de passe" et "Mon mot de passe" comme étant identiques, car ils sont prononcés également et ils peuvent facilement voir (merci pour le "P" majuscule) où se termine un mot et où commence le suivant - - même sans espace. Bien sûr, si vous leur demandiez si ces trois sont les mêmes, vous soulevez la question de l'inconscient à l'esprit conscient et tout le monde répondra "non". Mais tant que personne ne pose la question ...
Le problème de l'autorisation des espaces dans les mots de passe est donc pratique: cela aide les utilisateurs à oublier leurs mots de passe, c'est-à-dire à oublier s'il y avait un espace (ou deux ou trois ou ...) dans le mot de passe ou non.
Je peux penser à plusieurs raisons pour lesquelles les espaces devraient être exclus; ces raisons n'ont rien à voir avec la sécurité mais avec la convivialité:
Si vous transmettez un mot de passe contenant des espaces, comment le destinataire sait-il qu'il s'agit d'un espace ou d'un onglet? Et est-ce un ou deux espaces? En supposant que vous deviez l'écrire à la main (cela arrive), comment montrer ces informations? Selon la police de leur client de messagerie, il est également possible qu'ils ne remarquent pas les espaces vides.
Encore une fois, lors de l'envoi du mot de passe, si les espaces sont au début ou à la fin, il sera facilement manqué et devra être mis entre guillemets. Mais même alors, cela semblera étrange et je peux facilement imaginer que les utilisateurs n'incluent pas ce dernier espace et ne peuvent pas se connecter.
Les caractères vides (sauts de ligne, tabulations, espaces) sont souvent coupés à la fin et au début d'un champ, pour éviter que les gens copient et collent des données incorrectes. Évidemment, si les espaces étaient importants, cela poserait un problème.
Dans l'ensemble, je pense que le fait de ne pas avoir d'espace évite toutes sortes de problèmes et les appels de support enregistrés, c'est donc une bonne chose.
Modifier:
Pour répondre aux commentaires sur la mauvaise pratique de partage des mots de passe:
Disons que les documents commerciaux importants sont verrouillés sur la station de Bob, qui est actuellement en vacances. Que faire dans ce cas? Attendez que Bob revienne deux semaines plus tard et perdez des affaires potentielles entre-temps? Ou demandez-lui simplement d'envoyer le mot de passe? C'est mauvais à coup sûr mais toujours meilleur que l'alternative.
Comme l'a dit Linus Torvald (à propos d'autre chose, mais j'aime l'esprit): "vous devriez traiter avec la réalité , pas ce que vous souhaitez que la réalité soit".