Я создаю посоливший sha1 использования хешированных паролей в PHP.
Мой вопрос: В MySQL, каковы надлежащая кодировка символов, тип поля и длина для хранения результата?
Есть ли что-либо еще в MySQL для рассмотрения для безопасности пароля? Наконец SHA256 или практический выбор хеширования SHA512?
Для хэша SHA1 оптимальным типом и длиной поля будет CHAR (40). {{1 }} Кодировка символов не должна иметь большого значения, все символы находятся в диапазоне ASCII. Для единообразия я бы использовал тот же набор символов, что и остальная часть вашей базы данных.
Веб-серверы не могут сказать, кто обслуживает запрос на подключение (эта задача все еще находится на уровне операционной системы). Кроме того, без специальных опций сокета он должен быть связан с уникальной комбинацией интерфейса, интернет-адреса и порта.
-121--2300727-Можно создать цикл через список участников, добавив значения в новый список, из которого затем будет создан список "" ". Что-то вроде:
var members = MemberService.GetAll();
List<object> newList = new List<object>();
foreach(var member in members)
newList.Add( new {
Id = member.Id,
Name = member.Name + " " + member.Surname
} );
this.ViewData["Members"] = new SelectList(newList, "Id", "Name");
Я не могу вспомнить, можете ли вы использовать анонимный тип или нет, но если не вы можете создать небольшой класс данных, чтобы использовать в качестве посредника.
-121--2896538-Алгоритмы SHA-2 (SHA-256, SHA-512) являются допустимым выбором; однако они требуют большего места хранения. Например, для хранения шестнадцатеричных цифр для SHA-256 требуется поле CHAR (64). Были некоторые вопросы о том, «сломан» ли SHA-1 Шнайер обсуждал его и NIST прокомментировал . Если это касается вас, то, возможно, лучше использовать одну из SHA-2 функций.
И если вы хотите увеличить стоимость атаки грубой силы, вы можете также рассмотреть возможность добавления некоторых итераций с помощью алгоритма, такого как PBKDF2. Кто-то опубликовал пример здесь в комментариях .