繁体   English   中英

如何从PHP中的指数,模数和私有指数获取私钥?

[英]how to get private key from exponent , modulus and private exponent in PHP?

即时消息是PHP Crypto中的新增功能,即时消息使用openssl进行加密操作。 Openssl Rsa是需要PEM格式,但我具有十六进制模数(n),私有指数(d)和公共指数(e)。 如何从这些组件生成私钥? 对不起,我的英语。

RSA私钥通常也还具有许多其他参数。 用于创建模数(p和q)的质数和其他参数,以利于使用中文余数定理来加快解密速度。 如果没有,那么我只创建一个公共密钥。 您也许可以用PRIVATE idk替换PUBLIC。

无论如何,这是一些代码(使用phpseclib 1.0.3 ):

<?php
include('Crypt/RSA.php');
include('Math/BigInteger.php');

$rsa = new Crypt_RSA();
$rsa->loadKey([
    'e' => new Math_BigInteger('...'), // base-10 by default
    'n' => new Math_BigInteger('...') // base-10 by default
]);

echo $rsa;

我同时使用15作为e和n(出于RSA目的实际上不是有效的组合,但出于演示目的也可以),然后将其取回来:

-----BEGIN PUBLIC KEY-----
MBowDQYJKoZIhvcNAQEBBQADCQAwBgIBDwIBDw==
-----END PUBLIC KEY-----

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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