Bonjour,
J'ai installé le module crypt::openssl::rsa, et j'ai un problème avec son utilisation pour chiffrer des chaines de caractères en RSA.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
sub encryptPublic {
  my ($public_key,$string) = @_;
  my $key_string;
  open(PUB,$public_key) || die "$public_key: $!";
  read(PUB,$key_string,-s PUB);
  close(PUB);
 
  my $public=Crypt::OpenSSL::RSA->new_public_key($key_string);
  $public->use_pkcs1_padding();
 
  encode_base64($public->encrypt($string));
}
Mon problème est quand je crypte la même chaîne de caractères avec la même clef publique, j'obtiens toujours des résultats différents. Or, pour mon application j'ai besoin de stocker ces résultats pour pouvoir les déchiffrer ensuite. Il faut donc que le résultat obtenu soit toujours le même.
Y'a t'il une subtilité que je n'ai pas saisie ?