- Expédié
- 17 septembre 2026 à 04:26 UTC
- Auteur
- Kamo
- Commite
- 6fed61b
Deux écrivains ont mis du texte en clair dans USERS.PASSWORD. Les deux appelés User.encodePassword(), qui a besoin d'un codeur statique qui Seul l'initializerservice a porté le setter commenté, "non-commentaire s'il est disponible", depuis l'engagement initial). Dans ce service, il lance, et les deux appelants ont avalé l'exception: - Affirmer un compte pré-créé à /api/security/register set le mot de passe dactylographié et l'a sauvegardé comme tapé. Le compte ne pouvait même pas se connecter: le matcheur PBKDF2 ne peut pas lire une valeur qui n'est pas son propre hexadécinement, donc la connexion a échoué avec "L'authentification a échoué: l'exception du décodeur". Maintenant, les magasins passwordEncoder.encode(chosen), avec le codeur de plate-forme injecté; sans un, l'enregistrement échoue. - Ajout d'un membre (sagement ou en vrac) stocké un espace réservé aléatoire de 24 caractères. Personne ne l'a jamais dit, donc maintenant ne stocke aucun mot de passe du tout: le login refuse déjà un hachage nul propre, une réclamation ou une réinitialisation définit le réel, et un a L'ajout en vrac à centièmes ne paie pas PBKDF2 pour les valeurs jetables. Cinq rangées de ce type étaient dans la base de données en direct sur 2026-09-17 (par forme; aucune valeur n'est lue). Les autres écrivains (RegistrationService, PasswordChangeController, RecoveryServiceImpl) ont toujours injecté PasswordEncoder. Le changement d'autochange de trotteur répond désormais "Mot de passe actuel est incorrect" pour un compte sans mot de passe au lieu d'un 500 (PBKDF2 matching() lancers sur null). La ligne de débogage de login qui imprime les dix premiers caractères de la Le mot de passe soumis a disparu. - définit les cinq espaces réservés à NULL, l'état de la ligne de l'utilisateur du système est déjà, les faire correspondre uniquement par forme (l'alphabet de l'espace réservé, 24 caractères, jamais signés, pas le système Utilisateur). Un aperçu du nombre sur 2026-09-17 correspondait à 5 et ne laissait aucune ligne non-hash. Faites-le tourner après que cela se soit déployé. Tests: (la réclamation à travers le véritable codeur PasswordEncoderConfig: 96-hex, la connexion L'allumeur l'accepte, un espace réservé NULL est toujours réclamable, un compte actif conserve son mot de passe, aucun codeur ne tombe en panne bruyamment); - un cas de mot de passe-passe-mot de passe PBKDF2 dans PasswordChangeAuthTest; et qui scanne ce service pour n'importe quel setPassword/.password write qui n'est pas encode(...) ou nul, et pour tout appel encodePassword(). Chacun échoue contre son mutant (revendication en texte clair, espace réservé en texte clair, l'encodoréPasword restauré, la garde nulle enlevée). Suite complète 2662: les seuls rouges sont les cinq déjà sur origine/prince - x4, le cliquet"