Je pense que vous avez deux problèmes.
Tout d'abord, un mot de passe est généralement pas un entier de sorte que votre appel à int
sera probablement plus une exception soulever.
Vous voulez sans doute ceci:
pass = input('Input password> ')
En second lieu, la fonction retourne un hash
hash code pour l'objet à des fins de comparaison rapide. Ce n'est pas un cryptographic hash function. Envisagez d'utiliser quelque chose comme l'algorithme communément utilisé MD5 ou (de préférence) quelque chose de plus sécurisé comme la famille d'algorithmes SHA-2 à la place.
Vous pouvez utiliser hashlib
pour générer des hachages sécurisés de manière cryptographique. Exemple:
>>> import hashlib
>>> hashlib.md5('admin'.encode('utf-8')).hexdigest()
'21232f297a57a5a743894a0e4a801fc3'
>>> hashlib.sha256('admin'.encode('utf-8')).hexdigest()
'8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918'
En fonction de vos besoins, vous pouvez également envisager d'utiliser un salt pour protéger davantage le mot de passe.
Vous devriez nous dire quelle erreur vous obtenez. – middus
J'aime comment personne n'a même mentionné que 'pass' est un mot réservé (et donc pas un identifiant valide). SO le met même en évidence! – delnan