Я пытаюсь создать функцию безопасности для формы входа, в которой пароли преобразуются в хэш-коды в момент сохранения нового пароля или добавления нового пользователя, который будет сохранен в поле пароля в базе данных. При каждом входе пользователя в систему пароль будет расшифровываться для прочтения системой.
Я начал с этих кодов, полученных в результате поиска, но не могу получить доступ к значению в поле ввода:
<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 );
}
}
?>
Это говорит:
Неустранимая ошибка: вызов неопределенной функции encryptIt () в C: \ xampp \ Xampp \ htdocs \ subukan.php в строке 23.
Прежде чем мы углубимся в это, давайте остановимся и по-настоящему подумаем о том, что делается: вы пытаетесь в одиночку изобрести очень сложное колесо, которое потратило миллионы часов на профессиональное решение для обеспечения безопасности и поддержки отрасли. ,
1) Создание собственного процесса шифрования (если вы не математик или специалист по информатике) каждый из из вас пользователи в опасности. Вместо этого обращайтесь к пакетам шифрования, доступным в symphony, Laravel, Yii и т. Д.
2) Если вы математик или специалист по информатике, пожалуйста, обратитесь к учебным материалам, которые были опубликованы на тему алгоритмов шифрования.
Других решений пока нет …