2016-07-25 9 views
1

Empfänger hat mir einen öffentlichen Schlüssel und ich muss es verwenden, um Benutzername und Passwort zu verschlüsseln. Ich habe verschiedene r & d getan, aber nichts funktioniert. Ich habeSo verschlüsseln Sie Daten mit öffentlichen RSA-Schlüssel in PHP

function public_encrypt($plaintext) 
{ 
    $fp=fopen("private.key","r"); 
    $pub_key=fread($fp,8192); 
    fclose($fp); 
    openssl_get_publickey($pub_key); 
    openssl_public_encrypt($plaintext,$crypttext, $pub_key); 
    return(base64_encode($crypttext)); 
} 

verwendet, aber es gibt mir openssl_public_encrypt(): key parameter is not a valid public key Fehler.

Ich habe auch Anfang und Ende Zeile zu Schlüssel hinzugefügt, aber immer noch keinen Erfolg Bitte führen Sie mich mit Schritten zu folgen, wie ich neu darin bin.

+0

$ pubkey = openssl_get_publickey ($ pub_key); –

+0

Ich habe es versucht. benutzte diesen $ pubkey in der Verschlüsselung, noch kein Erfolg. Immer noch der gleiche Fehler. bitte hilfe. –

+0

Das Get Publickey benötigt die Zertifikatsdatei –

Antwort

1

Sie versuchen, einen Schlüssel zu dekodieren, der nicht in einem bekannten Format vorliegt. Ich nehme an, dass es von jemandem gemacht wurde, der Crypto nicht vollständig versteht, da es einen 1023-Bit-Modul hat.

Wenn man sich die hexadezimale Darstellung sehen Sie ein Modul mit einem Wert von finden: mit

4D49BB0D2E0FA132D081A6338C178124AB2B1B61A57C6C30D05EAD179BE1040B235E0EE83F3BF29A8F19DC33B7E245FAE7BE96E35CC2DF49E8B519D4F53501E3566D693A66E69D8C812AF66AC6D5D86ED764ED27A91C5828CE860A8B01077C15142B77BF772AFF201577DF8FBE9E92168539480E024DFF51173CD26B65858ACA 

(einfach dem letzten Wert innerhalb der Struktur mit einer Größe der Nähe von 1024 Bit) und einem öffentlichen Exponenten ein Wert

010001 
Verwandte Themen