Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В каждом авторизационном файле хранится некоторая сгенерированная случайным образом строка символов, для которой в базе данных на сервере есть хэш, привязанный к определённому идентификатору пользователя.
логин:пароль? Нафига какая-то отдельная таблица в БД, какие-то дополнитьельные хеши, скрытые поля?Содержимосе ключевого файла должно быть случайным и незапоминаемым.
base64(login:password) или, если совсем паранойя, то зашифрованное сервером (обратимо, с помощью секретного ключа) значение rsa.encrypt(login:md5(password), SecretKey).>СлучайнымВ чём идея то? Если в том, чтобы пользователь не пытался запомнить содержимое файла, то base64 вполне достаточно, т.к. превращает «человекозапоминаемый» текст в условно-беспорядочную последовательность букв
>base64(login:password)
>login:md5(password)
Да вы издеваетесь что ли?
echo -n "123456" | base64
MTIzNDU2
Секретным ключем можно только расшифровывать и подписывать информацию.
int RSA_public_encrypt(int flen, unsigned char *from,
unsigned char *to, RSA *rsa, int padding);
int RSA_private_decrypt(int flen, unsigned char *from,
unsigned char *to, RSA *rsa, int padding);
int RSA_private_encrypt(int flen, unsigned char *from, # <=======
unsigned char *to, RSA *rsa,int padding); # <=======
int RSA_public_decrypt(int flen, unsigned char *from,
unsigned char *to, RSA *rsa,int padding);
Колонку
Вообще, зачем придумывать велосипедные сложности (ухудшающие безопасность) в простой концепции аутентификации по фактору «то, чем обладает пользователь»?Пожалуй во фразе [по фактору «то, чем обладает пользователь»] смысл есть. Но объясните мне, как это снижает безопасность то и чем повышает сложность?
Вход на сайт с помощью авторизационного файла