[英]RSA in javascript different from PHP
我现在对RSA有问题。 我在Javascript和PHP中具有相同的模数和指数。在JavaScript中都使用PKCS#1,我使用http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.js
var rsa = new RSAKey();
rsa.setPublic("modulus","ex");
var result = rsa.encrypt(text);
在PHP中,我使用http://phpseclib.sourceforge.net/
require_once 'Crypt/RSA.php';
$rsa = new Crypt_RSA();
$n="modulus";
$e="ex";
$rsa->modulus= new Math_BigInteger($n,16);
$rsa->publicExponent= new Math_BigInteger($e,16);
$key=$rsa->getPublicKey();
$rsa->loadKey($key);
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt("1234");
echo bin2hex($ciphertext);
但是2结果不同。 可以请告诉我原因。 非常感谢你
它们不同,因为PKCS#1采用随机填充。
查看以下URL:
http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.html
多次点击加密。 每次得到的密文都会不同。
重要的是您可以解密它-而不是密文不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.