М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Mider123
Mider123
29.06.2022 10:19 •  Информатика

Компьютер выполняет перебор со скоростью 10 млн паролей в секунду. Определите, какова должна быть длина пароля, чтобы время его взлома составило не менее 1 месяца, если:

а) пароль состоит только из цифр;
б) пароль состоит только из прописных латинских букв и цифр;
в) пароль состоит только из латинских букв (заглавных и строчных) и цифр.

👇
Ответ:
zhaniyaadilshi
zhaniyaadilshi
29.06.2022

а) 13 символов

б): 9 символов

в): 8 символов

Объяснение:

Количество секунд в месяце: 60*60*24*30 = 2592000

Количество переборов в месяц: 2592000 * 10^6 или 2592 * 10^9

10^13  > 2592 * 10^9

24+10 = 34^9 >  2592 * 10^9

24*2+10 = 58^8 >  2592 * 10^9

PS: это решение не учитывает энтропию и правило что пароль может быть подобран за половину сложности на больших цифрах. Он верен в случае полного перебора и наш пароль находиться в конце этого перебора.

4,7(41 оценок)
Открыть все ответы
Ответ:
vlipinskiy16
vlipinskiy16
29.06.2022
//PascalABC.Net 3.1 сборка 1200
uses System;

begin
    var Replace4to16 := new Dictionary<string, string>();
    Replace4to16.Add('00', '0');
    Replace4to16.Add('01', '1');
    Replace4to16.Add('02', '2');
    Replace4to16.Add('03', '3');
    Replace4to16.Add('10', '4');
    Replace4to16.Add('11', '5');
    Replace4to16.Add('12', '6');
    Replace4to16.Add('13', '7');
    Replace4to16.Add('20', '8');
    Replace4to16.Add('21', '9');
    Replace4to16.Add('22', 'a');
    Replace4to16.Add('23', 'b');
    Replace4to16.Add('30', 'c');
    Replace4to16.Add('31', 'd');
    Replace4to16.Add('32', 'e');
    Replace4to16.Add('33', 'f');
    
    var n4 := ReadString('a_4 = ');
    if n4.Length mod 2 = 1 then n4 := '0' + n4;
    
    var n16 := '';
    for var i := 0 to n4.Length div 2 - 1 do
        if Replace4to16.ContainsKey(n4.Substring(2 * i, 2)) then
            n16 += Replace4to16[n4.Substring(2 * i, 2)]
        else writeln('Неверные знаки "', n4.Substring(2 * i, 2), '" в числе');
    
    writeln(n16);
end.
4,6(31 оценок)
Ответ:
бегуния
бегуния
29.06.2022
Var
    x, y: array[1..100] of integer;
    i, n, k: integer;
    min, max: integer;

begin
    {ввод массива}
    write('n = ');
    readln(n);
    
    writeln('Данные массива:');
    for i := 1 to n do
    begin
        readln(x[i]);
        
    end;
    writeln();
    
    {минимум и максимум}
    max := x[1];
    min := x[1];
    for i := 1 to n do
    begin
        if max < x[i] then max := x[i];
        if min > x[i] then min := x[i];
    end;
    writeln('max = ', max);
    writeln('min = ', min);
    writeln('avg = ', (max + min) / 2);
    
    max := (max + min) / 2;
    k := 0;
    for i := 1 to n do
    begin
        if x[i] >= max then begin
            k := k + 1;
            y[k] := x[i];
            write(y[k], ' ');
        end;
    end;
end.
4,6(34 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ