Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正确的解密返回空字符串_Php_Encryption_Mcrypt - Fatal编程技术网

Php 正确的解密返回空字符串

Php 正确的解密返回空字符串,php,encryption,mcrypt,Php,Encryption,Mcrypt,我正在尝试解密我存储在数据库中的一些数据 有人能告诉我我做错了什么吗 我已经检查并重新检查了我传递的所有值,这些值似乎与我用于加密的值相同 此外,每当我传入一个不正确的键时,它都会产生输出,但每当我传入正确的键时,它都会返回一个空字符串 有趣的是,尽管firebug将其显示为空字符串,但javascript并不将其视为空字符串 我的加密代码: $iv = hash('sha256',$_POST['ben'].$_POST['assetName'],true); $secretKeyFromAn

我正在尝试解密我存储在数据库中的一些数据

有人能告诉我我做错了什么吗

我已经检查并重新检查了我传递的所有值,这些值似乎与我用于加密的值相同

此外,每当我传入一个不正确的键时,它都会产生输出,但每当我传入正确的键时,它都会返回一个空字符串

有趣的是,尽管firebug将其显示为空字符串,但javascript并不将其视为空字符串

我的加密代码:

$iv = hash('sha256',$_POST['ben'].$_POST['assetName'],true);
$secretKeyFromAnswer = hash('sha256',$_POST['answer'],true);
$encedUsername = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secretKeyFromAnswer , $_POST['username'], MCRYPT_MODE_CBC, $iv));
我的解密代码:

$hashKey = hash('sha256',$_POST['key'],true);
$iv = hash('sha256',$_POST['ben'].$_POST['assetName'],true);
$theData = base64_decode($userToDec);
$decUsername = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $hashKey, $theData , MCRYPT_MODE_CBC, $iv),'\0');

“您确定没有在空字符串上运行加密吗?”--


你就是那个人!在我的jquery代码中有一个输入错误,实际上在加密之前读取了一个空字符串!如果你愿意,请给出答案,这样我就可以接受,你就可以得到你的代表!干杯


你确定你不是在空字符串上运行加密吗?你就是那个人!在我的jquery代码中有一个输入错误,实际上在加密之前读取了一个空字符串!如果你愿意,请给出答案,这样我就可以接受,你就可以得到你的代表!CheersI将@AtkinsSJ left的评论变成了一个社区维基答案,这样这个问题就不会永远停留在“未回答”和/或“没有被接受的答案”的状态。