я использую следующий код в PHP, чтобы проверить, если пароль содержит недопустимые символыLua - Обнаружить, если строка содержит допустимые символы для пароля
function validate_password($str) {
if(strlen($str) < 5 || strlen($str) > 30) {
return false;
} else {
return preg_match('/^[-._A-Za-z0-9]*$/',$str);
}
}
Я пытаюсь сделать то же самое в Lua, но не уверен, лучший способ проверить, содержит ли строка только определенные символы. Мои действительные символы являются буквенно-цифровыми с добавлением «-» и «.».
local function validate_password(str)
if string.len(str) < 5 or string.len(str) > 30 then
return false
else
if(str:match("%W")) then
-- this isn't right. need to check if alpha numeric or - or .
return false
else
return true
end
end
end
Цените любую помощь!
Вы даже не можете проверить пароль: Хешируйте и храните хэш. – daurnimator
@daurnimator - я использую эту функцию для проверки пароля до того, как я сделаю хэш и сохраню его. Возможно, это не обязательно, но я проверяю пароль, когда кто-то вводит пароль на моем сайте (зарегистрируйтесь или зайдите в систему). Если пароль недействителен, я вообще не подключаюсь к db. –
, вы не должны ограничивать набор символов или длину. Лучшая практика для выбора пароля - автоматическая генерация. Поскольку вы храните только хэш, длина не имеет значения. – daurnimator