现在,我只有模数和指数。
如何在PHP中使用模数和指数进行加密?
我花了很多时间在网上搜索答案,但一切都没用。
感谢您的时间
答案 0 :(得分:3)
使用phpseclib,纯PHP RSA implementation,
<?php
include('Crypt/RSA.php');
$rsa = new Crypt_RSA();
$rsa->loadKey(
array(
'e' => new Math_BigInteger('...'),
'n' => new Math_BigInteger('...')
)
);
$rsa->encrypt('...');
可以在此处找到Math_BigInteger支持的各种数字格式的讨论:
http://phpseclib.sourceforge.net/math/examples.html#constructor
请注意,phpseclib遵循PKCS1标准并填充明文。由于听起来您的RSA密钥没有以行业标准方式格式化,我猜你也不想使用行业标准填充。所以你要做的就是:
$plaintext = new Math_BigInteger('aaaaaa');
echo $rsa->_exponentiate($plaintext)->toBytes();
请注意,像这样进行RSA加密是非常不安全的,但我会把这个考虑留给你。