Ah okay je vois xD
Alors le SHA-1 et la méthode Symfony c'est deux choses différentes, le hash de Symfony c'est juste le fait que Symfony va hasher le password avec l'algo que tu lui aura demandé dans security.yml (par défaut SHA-256), et SHA-1... Bah c'est une algo :p
Pour répondre à ta question: Impossible ^^ Un hash est conçu pour être irreversible, pas possible de sortir de clair à partir d'un hash
Pour migrer les SHA-1 vers du SHA-256 tu peux passer par un middleware
En gros tu places dans la base de données les users avec leurs SHA-1, coté Symfo tu laisses le hash en mode SHA-256
Quand quelqu'un se connecte avec son user/password, tu va faire passer la personne par un middleware qui va vérifier dans la base si le password du user en question est en SHA-1 ou SHA-256 (le SHA-1 génère une string de 40 caractères, tu peux vérifier comme ça) si la longueur du hash dans la base de données fait plus de 40 caractères, c'est du SHA-256 tu quittes le middleware
($user c'est le user récupéré dans la base de données avec le nom/email donné par l'utilisateur, $request c'est le name/email/password donné par le l'utilisateur)
if (strlen($user->password) !== 40) {
return;
}
Par contre si la longueur fait 40 caractères, alors le password est encore en SHA-1, pour commencer tu checkes toi même le password
if (hash('sha1', 'salt' . $request->password) === $user->password) {...} else {error...}
Si la personnes a donné le bon password, tu va update la base en remplaçant le SHA-1 par le SHA-256 (ou mieux SHA-519)
if (hash('sha1', $request->password) === $user->password) {
$user->setPassword(hash('sha256', 'salt' $request->password));
$entityManager->flush();
} else {error...}
Comme ça les changements de passwords se feront petit a petit :p
Oui je sais c'est pas idéal comme solution les utilisateurs inactif garderont longtemps leur SHA-1 mais je vois pas mieux ^^'