首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解密值显示不正确

解密值显示不正确
EN

Stack Overflow用户
提问于 2017-04-05 12:00:34
回答 1查看 60关注 0票数 0

在URL的帮助下,我正在加密这些值并在另一个页面上发送加密的值,在那里我正在解密值,但是解密的值没有正确显示。我得到的输出类似于\J3�B��9[�

你能帮我解决这个问题吗?

Index.php

代码语言:javascript
复制
$input =5;
$encrypted = encryptIt( $input );
echo $encrypted;
function encryptIt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
    return( $qEncoded );
}

echo "<a href='decry.php?user_id=$encrypted'>Click here</a>";

decry.php

代码语言:javascript
复制
$id=$_GET['user_id'];
$decrypted = decryptIt( $id );
echo $decrypted;
function decryptIt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qDecoded      = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");
    return( $qDecoded );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-05 12:25:01

正如RiggsFolly所说,使用urlencode()。当我用不同的数字尝试时,它对一些人来说效果很好。虽然其他人有上面提到的问题(我猜是在下面出现的= ),但是一旦我添加了urlencode()修复了它!

代码语言:javascript
复制
$input =5;
$encrypted = encryptIt( $input );
echo $encrypted;
function encryptIt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
    return( $qEncoded );
}

echo "<a href='decry.php?user_id=".urlencode($encrypted)."'>Click here</a>";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43230592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档