Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 1
Регистрация: 10.11.2011
Сообщений: 85

Шифрование пароля при передаче в БД

07.07.2014, 17:36. Показов 3133. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как зашифровать пароль, при передаче в базу данных???

PHP
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
<?php
header('Content-Type: text/html; charset=utf-8');
require_once($_SERVER['DOCUMENT_ROOT'] . '/library/page_public.php');
 
class registration extends page_public
{
    protected function Content()
    {
        // обрабатываем полученные данные от формы регистрации методом CheckUserData
        $user_login = $this->CheckUserData($_POST['user_login']);
        $user_passwd = $this->CheckUserData($_POST['user_passwd']);
        $user_passwd2 = $this->CheckUserData($_POST['user_passwd2']);
        $user_email = $this->CheckUserData($_POST['user_email']);
        $last_name = $this->CheckUserData($_POST['last_name']);
        $user_name = $this->CheckUserData($_POST['user_name']);
        $user_data = $this->CheckUserData($_POST['user_data']);
        $user_phone = $this->CheckUserData($_POST['user_phone']);
            
 
        // если все поля заполнены то продолжаем работу с данными
            
        if ($user_login != "" && $user_passwd != "" && $user_passwd2 != "" && $user_email && $last_name != "" && $user_name != "" && $user_data != "" && $user_phone != "")
        {
            // если пароль и проверочный пароли равны, то продолжаем работу
            if ($user_passwd == $user_passwd2)
        
            {
                // если указанного при регистрации логина не нашлось в бд, продолжаем работу (логины должны быть уникальными)
                if ($this->FindLogin($user_login) == 0)
                {
                    // если указанного при регистрации email не нашлось в бд, продолжаем работу (email тоже должен быть уникальным)
                    if ($this->FindEmail($user_email) == 0)
                    {
                        // теперь нам нужно отправить ссылку на указанную почту, для активации пользователя
                        $from = 'AlexejJurin@gmail.com';
                        $hash_code = rand(100000, 999999);
                        $subject = "Подтвержение регистрации";
                        // здесь вам нужно поменять значение yousite на свой домен
                        $message = "Вы подали заявку на регистрацию " .
                                "Подтвердите свою заявку по предложенной ссылке: " .
                                "localhost/activate.php?hash=" . $hash_code;
 
                        // отправляем письмо
                        if (!mail($user_email, $subject, $message, 'From: ' . $from))
                        // если письмо не отправлено то значит пользователь некорректно указал свою почту
                            echo "<center><br><a href='../registration_form.php' >Вы не правильно указали почту.</a></center>";
                        else
                        {
                            // если письмо отправилось, то добавляем пользователя в базу данных с сгенерированным хеш кодом для активации
                            $conn = $this->ConnectDB();
                            $conn->query("insert into users values (0, '$user_login', '$user_passwd', '$user_email', '$last_name', '$user_name', '$user_data', '$user_phone', '$hash_code', false)");
 
                            echo "<center><br><a href='activate.php?hash=$hash_code'>Активировать учетную запись!</a></center>";
                        }
                    }
                    else
                        echo '<center><a href="../registration_form.php">Такой email уже есть в системе.</a></center>';
                }
                else
                    echo '<center><a href="../registration_form.php">Такой логин уже есть в системе.</a></center>';
            }
            else
                echo '<center><a href="../registration_form.php">Пароли не совпадают.</a></center>';
        }
        else
            echo '<center><a href="../registration_form.php">Вы не верно заполнили поля формы регистрации.</a></center>';
    }
 
}
 
        
$page = new registration();
$page->DisplayPage();
 
?>
<?php  
// старт сессии
session_start(); 
// Сравниваем введенную капчу с тем, что храниться в сессии
if($_SESSION['captcha'] == $_POST['captcha']){
    echo "";
}else {
    echo "<center><br><a href='../registration_form.php'>Капча не верная</a></center>";
} 
// Удаляем значение капчи из сессии 
unset($_SESSION['captcha']);  
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.07.2014, 17:36
Ответы с готовыми решениями:

Шифрование данных при передаче на сервер
Есть задача передать данные на сервер. Получать и отправлять данные будет экзешник, а принимать и обрабатывать PHP файл на хостинге. В...

Шифрование пароля при авторизации
Здравствуйте всем. Есть сайт с авторизацией по Логину и Паролю. Пароль шифруется в какую-то байду, предположительно это RSA и шлется запрос...

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

6
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
07.07.2014, 17:54
Цитата Сообщение от Lexa777 Посмотреть сообщение
Как зашифровать пароль, при передаче в базу данных???
Без гемороя строку в: md5()

далее введённый пользователем пароль переводишь в md5 и сравниваешь с тем паролем что в базе лежит...
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
07.07.2014, 18:33
Lexa777, используйте crypt(). md5() и sha1() не рекомендуются для хранения паролей. На официальном сайте даже написано. Причина: они слишком быстрые, так называемым "брутом" можно подломить пароль.
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
07.07.2014, 18:41
lyod, не знал...
спс гляну как время будет
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
07.07.2014, 18:43
В PHP5.5 есть специальная функция для хэширования пароля - password_hash и password_verify - для проверки.
На гитхабе есть прослойка совместимости для старых версий: https://github.com/ircmaxell/password_compat
На хабре есть статья, в которой хорошо описано как пользоваться новым функционалом: http://habrahabr.ru/post/194972/

Хватит изобретать велосипед, если конечно же не считаете себя специалистами в области криптографии.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
07.07.2014, 18:46
Вот, если что, ссылка: http://www.php.net/manual/ru/f... s.fasthash

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Tatikoma Посмотреть сообщение
если конечно же не считаете себя специалистами в области криптографии.
Я супер-криптограф. А что это? :) Шутка.

0
07.07.2014, 18:50

Не по теме:

Цитата Сообщение от lyod Посмотреть сообщение
Я супер-криптограф. А что это?
Тогда следовало предложить использовать стеганографию для хранения паролей.
Будет забавно, если хакер взломает ресурс и не найдет пароли, т.к. они будут зашифрованы куда-нибудь в картинки.. =)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.07.2014, 18:50
Помогаю со студенческими работами здесь

Шифрование пароля при сохранении в xml файле
в моей программе можно ввести в текстовые поля login,password,domain. сохраняется всё в отдельном фале xml формата. Далее данная запись...

Передаче пароля в строке подключения к БД MSSQL
Добрый день. Возник вопрос по поводу подключения к серверу MSSQL из ACCESS 2003. Использунтся строка плдключения: ODBC; Driver={SQL...

Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию?
Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию? Зависит ли это от...

Шифрование пароля
шифрую пароль симметричным методом function TForm1.Encrypt(const InString: string; StartKey, MultKey, AddKey: Integer):string; var ...

Шифрование пароля
Добрый день! Есть кусок кода на Kotlin, надо понять что тут происходит со строкой пароля и повторить на php. Может кто-то простыми словами...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru