Sto facendo una prova di coding ed encoding con chiave pubblica e privata.
Il mio problema è che di default viene usato un seed casuale dalla funzione openssl_public_encode() e quindi lo stesso testo genera stringhe codificate diverse ogni volta.
A me servirebbe che per un dato testo si ottenga sempre la stessa stringa criptata.

Sto provando con questo codice
Codice PHP:
$key "-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0
FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/
3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB
-----END PUBLIC KEY-----"
;

$data "Stringa di prova";

$res openssl_public_encrypt($data$encrypted_data$keyOPENSSL_NO_PADDING);
if ( ! 
$res )
{
    
// usando OPENSSL_NO_PADDING la funzione di encoding fallisce e finisco qui
    
echo "Encryption failed!";
}
else
{
    
// usando OPENSSL_PKCS1_PADDING (che è il default) la funzione di encoding fa il suo dovere
    
echo base64_encode($encrypted_data);

Avete esperienza in materia e sapete da cosa può dipendere?