День труда по сравнению со Днем благодарения

Я могу предложить альтернативный подход? Смотрите на Идеальные Бумажные Пароли , и эти производные , это запросило.

Вы могли использовать это как есть, "" чтобы генерировать одноразовые PIN, или просто генерировать единственный PIN на пользователя.

Принимают во внимание также, что дублирующиеся PIN не имеют себя проблема: любое нападение должно было бы тогда просто попробовать несколько идентификаторов пользователей.

(Пробег, предупреждающий: Я - определенно не специалист по безопасности.)

Вот второй ответ: от перечитывания я предполагаю, что Вы не хотите идентификатор пользователя как таковой - Вы просто проверяете ряд выпущенных карт царапины. Я также предполагаю, что Вы не хотите использовать алфавитные PIN.

необходимо выбрать длину PIN, таким образом, что вероятность предположения допустимого PIN является меньше чем 1 / (Количество попыток, которые можно защитить от). Так, например, если у Вас будет 1 миллион допустимых PIN, и Вы хотите защитить от 10 000 предположений, Вам будет нужен 10-разрядный PIN.

при использовании John Graham-Cumming's версия Идеальных Бумажных Паролей система Вы можете:

  1. Настраивают, это для (говорит), что 10-разрядные десятичные контакты
  2. Выбирают, секретный IV/ключевая фраза
  3. Генерируют (говорит) первый миллион паролей (/PIN)

, я подозреваю, что это - универсальная процедура, которая могла, например, использоваться для генерации 25-алфавитно-цифровых идентификаторов продукта, также.

Извините за выполнение его последовательным приближением; я надеюсь, что это прибывает немного ближе в то, что Вы ищете.

6
задан Raj More 8 January 2013 в 14:32
поделиться

3 ответа

Я в тупике, пытаясь определить День Благодарения (четверг последней ПОЛНОЙ недели ноября).

Последняя суббота ноября - 2

16
ответ дан 8 December 2019 в 04:09
поделиться

Возьмем последнюю субботу ноября и вычтем два дня;)

6
ответ дан 8 December 2019 в 04:09
поделиться
WITH    cal AS
        (
        SELECT  CAST('2009-30-11' AS DATETIME) AS cdate
        UNION ALL
        SELECT  DATEADD(day, -1, cdate)
        FROM    cal
        WHERE   cdate >= '2009-01-11'
        )
SELECT  TOP 1 DATEADD(day, -2, cdate)
FROM    cal
WHERE   DATEPART(weekday, cdate) = 6

Для сложных алгоритмов иногда лучше найти дату сопоставления из набора, чем пытаться построить огромную формулу с одним значением.

См. Эту статью в моем блоге для более подробной информации:

3
ответ дан 8 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: