Python 2.X, TypeError: must be type, not classobj avec super()

Si vous tombez sur l’erreur TypeError: must be type, not classobj en Python en essayant d’appeler la méthode super(), c’est très probablement que vous avez oublié de définir vos classes en new-styled.

En effet, si vous avez défini vos classes de cette manière, vous aurez l’erreur:

Pour les définir en new-styled, il vous suffit d’ajouter object comme classe parent de la première. Ainsi, votre code corrigé est:

Et tout fonctionne! :)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Crypter un mot de passe comme dans /etc/shadow

Petit test pour crypter un mot de passe comme dans le fichier /etc/shadow avec Python! Vous pouvez crypter une chaîne de caractères en utilisant le même SALT, à savoir la clé de cryptage.

Dans une chaine du fichier /etc/shadow, voici un exemple de ligne:

Ici, on peut voir que mon mot de passe personnel est $6$jWp7fotG$ikvxu3kvwbn36XvznP1FHnokYpY/MScI6QjYz.vJJ1r/klF2Nwiv3lkuSvs8hz4fZ08v7OAANFKfOaotPsjL50. Cette chaine signifie que l’encodage utilisé est le numéro 6 ($6$) à savoir le SHA-2, le SALT est jWp7fotG. Vous pouvez retrouver plus d’informations à ce sujet ici.

En utilisant la même clé, on peut donc retrouver le mot de passe, comme ceci!

On vérifie la correspondance:

:-)

facebooktwittergoogle_plusredditpinterestlinkedinmail