Php 如何在URL中显示加密密码

Php 如何在URL中显示加密密码,php,encryption,get,getmethod,get-method,Php,Encryption,Get,Getmethod,Get Method,我加密了密码,现在试图在URL中显示,但在URL中我总是得到真实的密码:kimd 我想我没有在url中传递$encrypted_字符串,请检查我的php脚本,让我知道如何在url中传递$encrypted_字符串 每当我调用我的表单获取所有信息时,详细信息如下:实际密码,加密密码和解密密码 例如: 原件upass:kimd 加密的upass:5-V-ly.TÀ238; MÜQü238;‡Løèy\ñU 解密upass:kimd legals.php:- <?php ............

我加密了密码,现在试图在URL中显示,但在URL中我总是得到真实的密码:
kimd

我想我没有在url中传递$encrypted_字符串,请检查我的php脚本,让我知道
如何在url中传递$encrypted_字符串

每当我调用我的表单获取所有信息时,详细信息如下:
实际密码
加密密码
解密密码

例如:

原件upass:
kimd

加密的upass:
5-V-ly.TÀ238; MÜQü238;‡Løèy\ñU

解密upass:
kimd

legals.php:-

<?php
.......................
// Create the initialization vector for added security.
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);

// Encrypt $string
$encrypted_string = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $upass, MCRYPT_MODE_CBC, $iv);

// Decrypt $string
$decrypted_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $secret_key, $encrypted_string, MCRYPT_MODE_CBC, $iv);
................................
?>

我只想在URL中显示
加密密码
而不是实际密码,我在legals表中有两个字段,即:-
uname
upass


我哪里做错了?请让我知道。

首先,
通过GET参数发送密码不是一个好的做法。其应始终通过POST参数发送

 <form method="POST" id="contact_form" action="legals.php">

但是,如果您想在URL中加密,请仅在.php文件中使用
base64\u encode()或md5()

我绝不是专家,但从您发布的代码来看,您的查询“SELECT*from
legals
其中
upass
=“$upass”正在从数据库中提取未加密的密码。虽然您已回显了加密和解密字符串,但我看不出您在以任何其他方式使用加密字符串。

假设您可以获得
$ukey
$secret\u key
,下面是您的答案

<?php 
// Create the initialization vector for added security.
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);

// Encrypt $string
$encrypted_string = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $ukey, MCRYPT_MODE_CBC, $iv);

// Decrypt $string
$decrypted_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $secret_key, $encrypted_string, MCRYPT_MODE_CBC, $iv);
?>

<div align="center">
       <form method="get" id="contact_form" action="legal.php">
                 <p>Enter First Name</p>
                 <input type="text" name="fname" value="" />
                 <p>Enter Last Name</p>
                 <input type="text" name="lname" value="" />
                 <input type="hidden" name="uname" value="kim" /> <!-- uname could be dynamic here -->
                 <input type="hidden" name="upass" value="<?php echo $encrypted_string; ?>" /><br/>
                 <input type="submit" id="submit_btn" value="Submit" />
       </form>
</div>

第一个错误是您通过URL发送密码,无论它是否加密!!您想不想使用jQueryAjax?如果是的话,我可以建议你!!是的,我将使用JQuery ajaxok。。您必须在密码的onchange事件上调用一个jquery函数,该函数获取密码并使用jQueryAjax发送到php页面进行加密。您将得到加密响应,并将其作为值保存在标记中,然后触发提交事件!!就这样!希望您了解jQueryAjax!所以我没有在这里编码!!我也尝试了md5(),但没有得到解决方案,您能告诉我根据您的想法在哪里进行更改吗?您能分享您的代码片段的HTML代码吗?为什么要使用get参数?为什么不发布呢?我发布了我的HTML脚本,请检查上面的内容,我必须只使用GET参数,这是必需的,我不知道为什么?酷。因此,我更新了我的答案。在你的HTML中试试这个。并在我的answr中提到的ur PHP中检索,一切都会很完美。:)兄弟问题仍然存在,获取实际密码,我想我没有在url中传递$encrypted_字符串,请检查我的PHP脚本,让我知道如何在url中传递$encrypted_字符串
<?php 
// Create the initialization vector for added security.
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);

// Encrypt $string
$encrypted_string = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $ukey, MCRYPT_MODE_CBC, $iv);

// Decrypt $string
$decrypted_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $secret_key, $encrypted_string, MCRYPT_MODE_CBC, $iv);
?>

<div align="center">
       <form method="get" id="contact_form" action="legal.php">
                 <p>Enter First Name</p>
                 <input type="text" name="fname" value="" />
                 <p>Enter Last Name</p>
                 <input type="text" name="lname" value="" />
                 <input type="hidden" name="uname" value="kim" /> <!-- uname could be dynamic here -->
                 <input type="hidden" name="upass" value="<?php echo $encrypted_string; ?>" /><br/>
                 <input type="submit" id="submit_btn" value="Submit" />
       </form>
</div>
$uname = isset($_GET['uname'])?$_GET['uname']:'';
$upass = isset($_GET['upass'])?$_GET['upass']:'';
$con = mysqli_connect(" "," "," "," ");

$result = mysqli_query($con,"SELECT * FROM `legals` WHERE `upass` = '$upass'");
$row = mysqli_fetch_array($result);

   // else {echo "Username/Key Error";}
mysqli_close($con);