繁体   English   中英

JavaScript中的RSA与PHP不同

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM