我正在为学校做作业,我们必须使用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,在第972行的C:\wamp\www\RSA\Crypt\RSA.php中有3
警告:提取()期望参数1是数组,在第972行的C:\wamp\www\RSA\Crypt\RSA.php中给出布尔值
注意:未定义变量: C:\wamp\www\RSA\Crypt\RSA.php中的长度,行973
警告: unpack() function.unpack:类型N:输入不足,需要4,在第974行的C:\wamp\www\RSA\Crypt\RSA.php中有0
警告:提取()期望参数1是数组,在第974行的C:\wamp\www\RSA\Crypt\RSA.php中给出布尔值
注意:未定义变量:第975行C:\wamp\www\RSA\Crypt\RSA.php中的长度
这是我的解密页面:
<?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);
?>我漏掉了什么吗?
发布于 2011-07-07 23:59:25
之前对其进行解码。
https://stackoverflow.com/questions/6612098
复制相似问题