【问题标题】:RSA encryption and decryptionRSA加密和解密
【发布时间】:2011-07-07 14:19:53
【问题描述】:

我正在为学校做作业,我们必须使用 rsa 加密并将数据(例如密码)发送到服务器以进行用户身份验证我正在使用 php 类 phpseclib,一个纯 PHP RSA 实现!

我可以加密文本

<?php
include('Math/BigInteger.php');
include('Crypt/Hash.php');
include('Crypt/RSA.php');
ini_set('max_execution_time', 0);

$rsa = new Crypt_RSA();
extract($rsa->createKey());

$plaintext = 'terrafrost';

$rsa->loadKey($privatekey);
$ciphertext = $rsa->encrypt($plaintext);


echo"<form action=\"dec.php\" method=\"post\"><input name=\"ciphertext\" type=\"text\"  value=\"".$ciphertext."\"/>";

echo"<input name=\"publickey\" type=\"text\"  value=\"".$publickey."\"/>";
echo"<input type=\"submit\" name=\"button\" id=\"button\" value=\"Submit\" /></form>";


?>

但是当我将加密的代码发送到另一个页面并尝试解密时,我得到一个错误

警告:unpack() [function.unpack]: N型:输入不足,需要4个,有 3 在 C:\wamp\www\RSA\Crypt\RSA.php 上 第972行

警告:extract() 需要参数 1 为数组,布尔值 C:\wamp\www\RSA\Crypt\RSA.php 上线 第972章

注意:未定义的变量:长度在 C:\wamp\www\RSA\Crypt\RSA.php 上线 第973章

警告:unpack() [function.unpack]: N型:输入不足,需要4个,有 0 在 C:\wamp\www\RSA\Crypt\RSA.php 上 第 974 行

警告:extract() 需要参数 1 为数组,布尔值 C:\wamp\www\RSA\Crypt\RSA.php 上线 第974章

注意:未定义的变量:长度在 C:\wamp\www\RSA\Crypt\RSA.php 上线 第975章

这是我的解密页面:

    <?php
    include('Math/BigInteger.php');
    include('Crypt/Hash.php');
    include('Crypt/RSA.php');
    ini_set('max_execution_time', 0);

    $rsa = new Crypt_RSA();

    $publickey=$_POST['publickey'];
    $ciphertext = $_POST['ciphertext'];

    $rsa->loadKey($publickey);
    echo $rsa->decrypt($ciphertext);

?>

我错过了什么吗?

【问题讨论】:

标签: php encryption


【解决方案1】:
  1. 用公钥加密,用私钥解密
  2. Base64 在发布之前对密码进行编码,在解密之前对其进行 base64 解码

【讨论】:

    猜你喜欢
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 2012-06-02
    • 2021-08-17
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多