PHP:RSA仅使用模数和指数加密

时间:2013-11-29 16:05:10

标签: php

现在,我只有模数和指数。

如何在PHP中使用模数和指数进行加密?

我花了很多时间在网上搜索答案,但一切都没用。

感谢您的时间

1 个答案:

答案 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加密是非常不安全的,但我会把这个考虑留给你。