读取输入框中的值并将其分配给变量以进行加密和解密

时间:2017-01-18 21:00:37

标签: php encryption

我正在尝试为我的登录表单创建一个安全功能,其中密码在保存新密码或添加新用户时转换为哈希码,这些密码将保存在数据库的密码字段中。在每次登录用户时,密码将被解密以供系统读取。

我已经从搜索中获得了这些代码,但我无法访问输入框中的值:

<html>
<head>
</head>
<body>


            <form method="post" action="">

                        <input type="username" name="username" placeholder="Enter email"  /> <br>

                        <input type="password" name="password" placeholder="Enter Password" />

                <button type="submit" name="submit">LOG IN</button>
            </form>


<?php
if(isset($_POST['submit']))
{
$username = (isset($_POST['username']) ? $_POST['username'] : '');
$password = (isset($_POST['password']) ? $_POST['password'] : '');

$encrypted = encryptIt( $password );
$decrypted = decryptIt( $encrypted );

echo $encrypted . '<br />' . $decrypted;

function encryptIt( $q ) {
$cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
$qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
return( $qEncoded );
}

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 );
}
}
?>

   

它说:

  

致命错误:在第23行的C:\ xampp \ Xampp \ htdocs \ subukan.php中调用未定义的函数encryptIt()。

1 个答案:

答案 0 :(得分:3)

在我们深入研究之前,让我们停下来,真正考虑一下正在尝试的事情:你正试图一手重新发明一个非常复杂的轮子,这个轮子已经有数百万小时的高水平专业努力才能获得安全保障。行业支持解决方案。

1)创建自己的加密过程(除非您是数学或计算机科学专业人员)会使每一个用户面临风险。相反,请参阅symphony,Laravel,Yii等提供的加密包。

2)如果您是数学或计算机科学专业,请参阅已发表在加密算法主题上的学术论文。