使用Open SSL生成公钥和私钥

时间:2017-09-04 12:20:25

标签: php

使用public生成privateopenssl个密钥。但是,代码会生成一个非常长的密钥,这些密钥不能用于验证API。

$config = array(
    "digest_alg" => "sha512",
    "private_key_bits" => 4096,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
);

$res = openssl_pkey_new($config);

openssl_pkey_export($res, $privKey);

print_r($privKey);

$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey["key"];

print_r($pubKey);

有没有办法生成60个字符的私钥?还有一个20字的公钥,这种技术是独一无二的吗?

1 个答案:

答案 0 :(得分:1)

不在OpenSSL中使用RSA。即使最低位数为32也会产生64字节私钥。使用短按键时安全性也很差,应该避免使用。

也许您可以使用长安全密钥实现令牌请求调用,然后使用较小的令牌进行进一步的请求。这限制了整体的数据开销。这需要更多的编码,但可能是一种方法。