是否可以使用Cryptico从密码短语生成 RSA 公钥,然后使用 PHP 使用该公钥加密消息,并使用 JavaScrpt 使用原始密码对其进行解密?
Cryptico 本身似乎工作得很好,但我正在尝试使用 phpseclib 使用 Cryptico 生成的公钥加密消息,但我没有得到输出。即使我这样做了,我是否能够对其进行 base64 编码并使用 Cryptico 对其进行解密?
使用位设置为 1024 的 passphase“stackoverflow Rocks”,我得到了这个公钥:
XEjrqvt5K3pjM2m98ZFQOf9fObVNKPJQ9TYbo4sdNPaUO0NKdLtno8hXa292MiAmwip9JOiplmSQVEvpEnfebGNFFzqNgd4hAS6oXD6zHexVHsHpFTYxfVFQE93eHtbz0Mi7l64rnq6UOQKAB53CXVUev6RqyR6hs4oBiJRAOCs=
但是,当我使用带有或不带有 PKCS1 行的以下代码时,我没有得到任何输出。
$rsa = new Crypt_RSA();
$rsa->loadKey('XEjrqvt5K3pjM2m98ZFQOf9fObVNKPJQ9TYbo4sdNPaUO0NKdLtno8hXa292MiAmwip9JOiplmSQVEvpEnfebGNFFzqNgd4hAS6oXD6zHexVHsHpFTYxfVFQE93eHtbz0Mi7l64rnq6UOQKAB53CXVUev6RqyR6hs4oBiJRAOCs='); // public key
$plaintext = 'tester';
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt($plaintext);
echo $ciphertext;
?>
有谁知道我缺少什么来完成这项工作?- 或者这是不可能的,我在浪费我的时间?
编辑:------------代码我正在使用重新 owlstead 的评论 ------------- 尝试使用和不使用 PKCS1 行
<?php
include('Crypt/RSA.php');
$rsa = new Crypt_RSA();
$rsa->loadKey('-----BEGIN PUBLIC KEY-----
XEjrqvt5K3pjM2m98ZFQOf9fObVNKPJQ9TYbo4sdNPaUO0NKdLtno8hXa292MiAmwip9JOiplmSQVEvpEnfebGNFFzqNgd4hAS6oXD6zHexVHsHpFTYxfVFQE93eHtbz0Mi7l64rnq6UOQKAB53CXVUev6RqyR6hs4oBiJRAOCs=
-----END PUBLIC KEY-----'); // public key
$plaintext = 'tester';
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt($plaintext);
echo $ciphertext;
?>