Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Alex Kolesnikov
0 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 66
1

Шифрование пароля на php mysql

02.10.2016, 16:11. Просмотров 1079. Ответов 6
Метки нет (Все метки)

Как сделать что бы код в бд записывался зашифрованным, а при авторизации она был декодирован
Ниже код для регистрации.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?
/**
  * registration.php
  * Страница регистрации пользователей. Предполагается, что в вашей
  * базе данных присутствует таблица пользователей users, в которой
  * есть поля id, login, password, reg_date
  */
  
// Подключаем файл с пользовательскими функциями
require_once('functions.php');
 
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();
$fields = array();
 
// Заранее инициализируем переменную регистрации, присваивая ей ложное значение
$reg = false;
 
// Если была нажата кнопка регистрации
if(isset($_POST['submit'])) {
    // Делаем массив сообщений об ошибках пустым
    $errors['login'] = $errors['password'] = $errors['password_again'] = '';
    
    // С помощью стандартной функции trim() удалим лишние пробелы
    // из введенных пользователем данных
    $fields['login'] = trim($_POST['login']);
    $password = trim($_POST['password']);
    $password_again = trim($_POST['password_again']);
    
    // Если логин не пройдет проверку, будет сообщение об ошибке
    $errors['login'] = checkLogin($fields['login']) === true ? '' : checkLogin($fields['login']);
    
    // Если пароль не пройдет проверку, будет сообщение об ошибке
    $errors['password'] = checkPassword($password) === true ? '' : checkPassword($password);
    
    // Если пароль введен верно, но пароли не идентичны, будет сообщение об ошибке
    $errors['password_again'] = (checkPassword($password) === true && $password === $password_again) ? '' : 'Введенные пароли не совпадают';
    
    // Если ошибок нет, нам нужно добавить информацию о пользователе в БД
    if($errors['login'] == '' && $errors['password'] == '' && $errors['password_again'] == '') {
        // Вызываем функцию регистрации, её результат записываем в переменную
        $reg = registration($fields['login'], $password);
        
        // Если регистрация прошла успешно, сообщаем об этом пользователю
        // И создаем заголовок страницы, который выполнит переадресацию к форме авторизации
        if($reg === true) {
            header('Refresh: 5; URL = login.php');
            $message = '<p>Вы успешно зарегистрировались в системе. Сейчас вы будете переадресованы к странице авторизации. Если это не произошло, перейдите на неё по <a href="login.php">прямой&nbsp;ссылке</a>.</p>';
            
        }
        // Иначе сообщаем пользователю об ошибке
        else {
            $errors['full_error'] = $reg;
        }
    }
}
?>
<html>
<head>
    <title>Регистрация пользователей</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body style="background-color: #6E6E6E;">
<?
// Показываем форму только если пользователь еще не запустил процесс регистрации, 
// и если регистрация не была успешной
if($reg !== true) {
?>
    <!-- Блок для вывода сообщений об ошибках -->
    <div id="full_error" class="error" style="display:
    <?
    echo $errors['full_error'] ? 'inline-block' : 'none';
    ?>
    ;">
    <?
    // Выводим сообщение об ошибке, если оно есть
    echo $errors['full_error'] ? $errors['full_error'] : '';
    ?>
    </div>
    <form action="" method="post"style="background-color:fff; width: 255px; margin-left:43% ;padding: 10px; border: 2px solid black;"> <!--рамка-->
        <div class="row">
            <label for="login">Укажите ваш логин:</label>
            <input type="text" class="text" name="login" id="login" value="<?=$fields['login'];?>" />
            <div class="error" id="login-error"><?=$errors['login'];?></div>
            <div class="instruction" id="login-instruction">В имени пользователя могут быть только символы латинского алфавита, цифры, символы '_', '-', '.'. Длина имени пользователя должна быть не короче 4 символов и не длиннее 16 символов</div>
        </div>
        <div class="row">
            <label for="password">Напишите ваш пароль:</label>
            <input type="password" class="text" name="password" id="password" value="" />
            <div class="error" id="password-error"><?=$errors['password'];?></div>
            <div class="instruction" id="password-instruction">В пароле вы можете использовать только символы латинского алфавита, цифры, символы '_', '!', '(', ')'. Пароль должен быть не короче 6 символов и не длиннее 16 символов</div>
        </div>
        <div class="row">
            <label for="password_again">Повторите введенный пароль:</label>
            <input type="password" class="text" name="password_again" id="password_again" value="" />
            <div class="error" id="password_again-error"><?=$errors['password_again'];?></div>
            <div class="instruction" id="password_again-instruction">Повторите введенный ранее пароль</div>
        </div>
        <div class="row2">
            <!-- Кнопка сброса полей формы к исходному состоянию -->
            <input type="reset" name="reset" id="btn-reset" value="Очистить" />
            <!-- Кнопка отправки данных формы -->
            <input type="submit" name="submit" id="btn-submit" value="Зарегистрироваться" style="margin-left:35px"/>
        </div>
    </form>
<?
}   // закрывающая фигурная скобка условия проверки запущенного процесса регистрации
// Если регистрация прошла успешно, сообщаем об этом
else {
    print $message;
}
/**
  * Если всё пройдет как положено, вы сможете попробовать 
  * зарегистрировать такого же точно пользователя. Скрипт 
  * должен будет сообщить об ошибке
  */
?>
</body>
</html>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2016, 16:11
Ответы с готовыми решениями:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\localhost\www\php\mysql.php on line 16
Не могу подключиться к базе...устал все перепроверять переписывать и пересоздавать... Я недавно...

Шифрование пароля
Вот мой код: $password = substr($_POST, 0, 20); $password = htmlspecialchars($password);...

шифрование пароля
здравствуйте. Решил научиться шифровать пароли, ранее это не представлялось нужным. есть форма...

Шифрование пароля подключения к БД
Здравствуйте! В общем подключение к БД у меня такое: $mysql_connect =...

Шифрование пароля при передаче в БД
Как зашифровать пароль, при передаче в базу данных??? &lt;?php header('Content-Type: text/html;...

6
edward_freedom
1557 / 1436 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
02.10.2016, 16:17 2
Alex Kolesnikov, В чем именно загвоздка, ты не знаешь какую технологию шифрования использовать? Если так, то держи BlocwFish или RSA
0
Alex Kolesnikov
0 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 66
02.10.2016, 16:21  [ТС] 3
не знаю как программно в своём коде реализовать шифрование кода.
0
mrNTF
273 / 200 / 142
Регистрация: 22.01.2016
Сообщений: 637
02.10.2016, 17:19 4
PHP
1
2
3
4
5
6
7
8
$pass = 'password123';
$passEncoded = md5($pass); # 482c811da5d5b4bc6d497ffa98491e38
if ( md5($pass) == $passEncoded ) {
    echo 'Авторизован';
}
else {
    echo 'Неверный пароль';
}
0
edward_freedom
1557 / 1436 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
02.10.2016, 18:31 5
mrNTF, Твой ответ бы подошел, но Тз совсем другое
Цитата Сообщение от Alex Kolesnikov Посмотреть сообщение
авторизации она был декодирован
0
mrNTF
273 / 200 / 142
Регистрация: 22.01.2016
Сообщений: 637
02.10.2016, 18:48 6
edward_freedom, мне кажется, ТС просто не понимает принцип сверки паролей, поэтому и спрашивает, как декодировать.
Я привёл пример, как это реализовать. Смысл шифровать его, если потом можно декодировать?
0
Azdeman
Фрилансер
Эксперт HTML/CSSЭксперт PHP
1745 / 1286 / 580
Регистрация: 12.01.2011
Сообщений: 5,112
02.10.2016, 19:05 7
Цитата Сообщение от mrNTF Посмотреть сообщение
md5
PHP
1
mb5();
лучше уже не использовать.
Md5 уже устарел.
Вот что лучше.
PHP
1
2
password_hash();
password_verify();
1
02.10.2016, 19:05
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2016, 19:05

Шифрование пароля(посмотрите мою функцию)
Всем доброго дня. Вот для моего проекта решил шифровать пароль таким методом. Что скажете насчет...

Шифрование пароля при помощи функции crypt
Не получается проверить пароль. Хеширую так: crypt($user, $user). Получаю:...

Шифрование MySQL
Доброго времени суток. Подскажите, объясните, пожалуйста. Каким образом можно шифровать базу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru