Ich habe Code in Javascript https://notepad.pw/codeherejsJavascript PHP - RSA verschlüsselt mit Modul und Exponenten
var c = 'd3bcef1f00424f3261c89323fa8cdfa12bbac400d9fe8bb627e8d27a44bd5d59dce559135d678a8143beb5b8d7056c4e1f89c4e1f152470625b7b41944a97f02da6f605a49a93ec6eb9cbaf2e7ac2b26a354ce69eb265953d2c29e395d6d8c1cdb688978551aa0f7521f290035fad381178da0bea8f9e6adce39020f513133fb';
var f = '10001';
var g = new RSAKey;
g.setPublic(c, f);
var result = g.encrypt(password)
Es fein arbeiten. Und gib mir Ergebnis ist result = 1e2738d762382f82f8412b87e9dd9a18aaa52ea28f6b204bb0f1e0f710a973aaa417e533d39127fd1d8959c553ae53dd83738e4eb6544cb77fd08438afd33594c42ff7e5186bd23908b642188b82b7552140af82f7bd5d768770cd9305573640739be4a70bbc2bd190c5a192685ab88c5a612680005eff2f37944c8e24803ea2
ich den Code zu PHP conver, ich benutze phpseclib
$fm_modulus = 'd3bcef1f00424f3261c89323fa8cdfa12bbac400d9fe8bb627e8d27a44bd5d59dce559135d678a8143beb5b8d7056c4e1f89c4e1f152470625b7b41944a97f02da6f605a49a93ec6eb9cbaf2e7ac2b26a354ce69eb265953d2c29e395d6d8c1cdb688978551aa0f7521f290035fad381178da0bea8f9e6adce39020f513133fb';
$fm_exponent = '10001';
$rsa = new Crypt_RSA();
$modulus = new Math_BigInteger(base64_decode($fm_modulus), 256);
$exponent = new Math_BigInteger(base64_decode($fm_exponent), 256);
$rsa->loadKey(array('n' => $modulus, 'e' => $exponent));
$pass_ok = $rsa->encrypt($pass);
PHP Rückkehr für mich das Symbol, ich weiß nicht, wie es in einfachen Text (gleiches Ergebnis konvertieren in Javascript). Ich versuche base64, Hash sha256 sha512. Alle falsch, bitte helfen Sie mir
Die Verschlüsselung gibt Bytearray zurück. Was JS zeigt, ist eine hexadezimale Darstellung des Byte-Arrays. Anscheinend wandelt PHP es direkt in die Zeichenkette um. Sie sollten also etwas Common verwenden - Base64 sollte gut sein, versuchen Sie auch, das JS-Array in base64 zu konvertieren, um das Ergebnis zu sehen. – gusto2
Ich versuche bin2hex, und Ergebnis habe ich von PHP nicht gleich Javascript :( –
Das Ergebnis der Verschlüsselung mit einer sicheren Chiffre * soll * immer anders sein: Die Ergebnisse sind randomisiert. Sie sollten durch Verschlüsselung mit einer Laufzeit und entschlüsseln mit überprüfen Die andere Laufzeit: Sie können versuchen, bis die Welt endet, um das gleiche Byte-Array nach der Verschlüsselung zu erstellen * sogar auf der gleichen Plattform *. –