J'ai un fichier avec des informations d'identification chiffrées avec RC4, Le morceau de code chargé d'écrire de telles informations d'identification dans le fichier est le suivant :
sub fonctionBidon() {
# Choses inutiles pour le problème
# ...
my $dbHost = "localhost";
my $passphrase = "123"; # À des fins d'exemple, la logique est différente.
my $cipher = Crypt::RC4->new($passphrase);
return unpack('H*',$cipher->RC4($dbHost));
}
Ainsi, ce morceau de code renverrait quelque chose comme : 3F9FDCE3891C6B8851
mais si j'essaie le suivant :
sub uneAutreFonctionBidon() {
my $texteChiffré = &fonctionBidon();
my $passphrase = "123";
my $cipher = Crypt::RC4->new($passphrase);
print $cipher->RC4(pack('H*',$texteChiffré));
}
Je m'attends à voir localhost
mais au lieu de cela, j'obtiens une série d'octets, comment puis-je récupérer le texte original ?
J'ai déjà vérifié avec un déchiffreur RC4 en ligne, avec mon passphrase et ma chaîne hex encodée et le déchiffreur RC4 en ligne renvoie bien localhost
donc je suis certain que la chaîne chiffrée est correcte.
Merci !
P.S. : L'exemple ci-dessus fonctionne dans un environnement isolé, mais dans mon script cela ne fonctionne pas. Je ne peux pas obtenir le texte original.