Les mots de passe sont principalement utilisés pour accéder aux informations et également pour limiter le nombre d'utilisateurs pouvant accéder à une machine. Il est principalement utilisé avec un nom d'utilisateur pour le système d'autorisation. Parfois, les gens utilisent des clés au lieu de mots de passe en raison de la force accrue des clés.

Les mots de passe ou phrases de passe sont une stringqui est utilisée pour empêcher les personnes qui ne connaissent pas cette chaîne d'utiliser un compte de personne ou un ordinateur. Ils ont presque toujours été utilisés depuis que les ordinateurs ont été connectés les uns aux autres pour s'assurer que chaque utilisateur avait la possibilité de savoir que son compte sur l'ordinateur ou le réseau n'allait pas être repris par un collègue qui avait quelque chose contre eux. Cela garantit également que seule la personne qui connaît le nom d'utilisateur et le mot de passe d'une personne peut accéder à son compte et modifier les éléments auxquels elle a accès.

Sur les sites Web et autres services Web, des mots de passe sont utilisés pour s'assurer que quiconque essaie de se connecter au site ou au service est bien celui qu'il prétend être. En plus d'un nom d'utilisateur qui peut être une autre chaîne ou le courrier électronique de la personne, cela rend le serveur auquel la personne qui tente de se connecter (obtenir une autorisation sur le site ou le service) est plus susceptible de lui faire confiance et de lui permettre d'accéder. à elle.

Le stockage d'un mot de passe ne doit jamais être effectué en texte brut, cela signifie que les mots de passe sont stockés exactement tels qu'ils ont été saisis par l'utilisateur. Vous devez utiliser les fonctions cryptographichashqui sont disponibles dans presque tous les langages de programmation Web et constituent donc le meilleur moyen de stocker un mot de passe utilisateur car il utilise le cryptage unidirectionnel ce qui signifie que personne ne peut récupérer le mot de passe sans avoir d'abord essayé de le deviner à plusieurs reprises, également connu sous le nom de "bruteforcing".

cryptographichashrévèle à lui seul que les deux mots de passe sont les mêmes (car ils auraient la même valeur de hachage). Pour éviter cela, une chaîne aléatoire connue (salt) peut être hachée ensemble. Le sel peut être stocké ouvertement (à côté de la valeur hachée) car ce n'est pas un mot de passe, rend simplement le mot de passe hash-codedifférent.

Il est toujours préférable de protéger une telle table autant que possible car (en supposant que l'algorithme de hachage est connu) l'attaquant peut l'utiliser avec son propre programme pour sonder un grand nombre de mots de passe potentiels en peu de temps. Il est beaucoup plus difficile de sonder le système réel, car il se verrouille généralement ou, au moins, force le retard après plusieurs tentatives infructueuses.

Une grande partie des mots de passe actuellement utilisés n'est pas sécurisée et peut être devinée relativement facilement (vide, identique au nom d'utilisateur, à la date de naissance, etc.). Un autre problème est que les utilisateurs utilisent souvent le même mot de passe pour différents sites ou applications.