J'ai créé un compte sur mon application web (Symfony2 avec FOSUserBundle) et enregistré avec le mot de passe "lolwut" (sans les guillemets).Symfony2 (FOSUserBundle) SHA512 hachage ne correspond pas C# SHA512 hachage
Ce sont les paramètres dans ma config security.yml:
security:
encoders:
FOS\UserBundle\Model\UserInterface:
algorithm: sha512
iterations: 1
encode_as_base64: false
Les données résultantes:
Hashed password:
f57470574dbf29026821519b19539d1c2237e4315d881fa412da978af554740c6b284062a9a4af7d0295d18ebea8ef2e152cf674b283f792fe0b568a93f969cf
Salt:
kuc5bixg5u88s4k8ggss4osoksko0g8
Maintenant, étant donné que les itérations sont définies sur 1, je suppose que le codage « lolwut "à SHA512 en C# me donnera le même résultat, voici ma logique:
string salt = "kuc5bixg5u88s4k8ggss4osoksko0g8";
string input = "lolwut";
string passAndSalt = String.Concat(input, salt);
System.String Hashed = System.BitConverter.ToString(((System.Security.Cryptography.SHA512)new System.Security.Cryptography.SHA512Managed()).ComputeHash(System.Text.Encoding.ASCII.GetBytes(passAndSalt))).Replace("-", "");
return passAndSalt + "<br>" + Hashed;
Cependant, cela renvoie e e suivante valeur qui ne correspond pas au mot de passe FOSUserBundle haché du tout:
82E8CA0408B23DB50EB654EDB50A7926AC73613184054DB82FB6D67CD4186B7A045D265AEDE6E3852CD85B981F15F6615C1C0C6FBF443B1672DF59DE23557BD9
Je sais que je dois faire quelque chose de mal quelque part, mais je ne peux pas pour la vie de me comprendre ce qu'elle est, et il est me rend fou. Quelqu'un pourrait-il m'aider ici, s'il vous plaît?
Je pense que C# est base 64 codant pour le mot de passe, mais je peux me tromper – JamesHalsall
Pourquoi êtes-vous pleinement admissible tout vos noms de types? Cela rend le code beaucoup plus difficile à lire - tout comme le fait de tout mettre dans une seule instruction ... –
@JonSkeet C'est parce que ce n'est pas mon propre code, je l'ai copié à partir d'un exemple pour vérifier s'il fonctionne réellement. Vous avez raison cependant, il est illisible et sera nettoyé une fois que j'ai ce problème trié. :) – thomastuts