J'ai une classe appelée Membership, dans laquelle j'ai deux méthodes. Le premier s'appelle validateUser, et le second s'appelle encryptPass. Le problème est que même si j'appelle la méthode encryptPass, elle renvoie le mot de passe d'origine. En d'autres termes; il ne semble pas qu'il retourne réellement les données ou n'appelle pas la méthode correctement? Je suis nouveau à la POO alors ne me jugez pas pour ne pas savoir beaucoup maintenant.Méthode de cryptage d'appel, ne fonctionne pas?
Voici à quoi il ressemble Étiez j'appelle la méthode:
//validate password and hash it if valid
if(strlen($password) > 25 || strlen($password) < 4) {
$password = $this->encryptPass($password);
$errorArray[] = "Löenordet måste vara mellan 4-25 tecken långt.";
}
Et voici comment la méthode encryptPass réelle ressemble:
function encryptPass($password) {
$salt = substr($password, 2, 4);
$password = md5(md5($password));
$password = substr($password, 0, 20) . $salt . substr($password, 0, 20);
$password = md5($password);
return $password;
}
Je jeté ensemble un algorithme de chiffrement personnalisé que vous pouvez Vous voyez, peut-être que je me suis foutu d'une façon ou d'une autre?
Merci d'avance!
'md5' n'est pas un cryptage, c'est un sens unique (quoique [non sécurisé] (http://en.wikipedia.org/wiki/Md5#Collision_vulnerabilities)/compromis) [fonction de hachage] (http: // en.wikipedia.org/wiki/Hash_function). –
Il ne s'agit pas d'un "algorithme de chiffrement personnalisé" et vous produisez un hachage moins sécurisé qu'avec un seul appel de 'md5()'. – meagar
Comment est-ce? Comment pourriez-vous décrypter ce hachage sans connaître l'algorithme de cryptage? Si ce n'est pas un algorithme de chiffrement, comment l'appelez-vous? – Nike