При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 20 символов...

Тематика Информатика
Уровень 10 - 11 классы
регистрация пароль база данных хранение данных кодирование байты безопасность
0

При регистрации в компьютерной системе каждому пользователю выдаётся

пароль, состоящий из 20 символов и содержащий только прописные символы

латинского алфавита такихсимволов26. В базе данных для хранения

сведений о каждом пользователе отведено одинаковое минимально

возможное целое число байт. При этом используют посимвольное

кодирование паролей, все символы кодируют одинаковым минимально

возможным количеством бит. Кроме собственно пароля для каждого

пользователя в системе хранятся дополнительные сведения, для чего

выделено целое число байт; одно и то же для всех пользователей.

Для хранения сведений о 20 пользователях потребовалось 500 байт. Сколько

байт выделено для хранения дополнительных сведений об одном

пользователе? В ответе запишите только целое число – количество байт.

avatar
задан 11 месяцев назад

3 Ответа

0

20 байт.

avatar
ответил 11 месяцев назад
0

Для хранения сведений о 20 пользователях было использовано 500 байт. Это означает, что на каждого пользователя в среднем было выделено 25 байт 500байт/20пользователей=25байтнапользователя.

Известно, что на хранение пароля каждого пользователя требуется 20 символов, которые кодируются одинаковым минимально возможным количеством бит. Так как в пароле используются только прописные символы латинского алфавита 26символов, то для кодирования каждого символа потребуется 5 бит таккакlog2(26 ≈ 4.7, ближайшее целое число - 5 бит).

Итак, на хранение пароля одного пользователя потребуется 20 символов * 5 бит = 100 бит = 12.5 байт поскольку1байт=8бит.

Таким образом, на хранение дополнительных сведений об одном пользователе было выделено 25 байт - 12.5 байт = 12.5 байт. Ответ: 12 байт.

avatar
ответил 11 месяцев назад
0

Для решения задачи начнём с определения количества бит, необходимых для кодирования одного символа пароля. Так как в пароле используются только прописные символы латинского алфавита 26символов, минимальное количество бит, необходимое для кодирования одного символа, можно определить как минимальное k, при котором 2k26. Легко проверить, что k=5 таккак(25=32 и это минимальная степень двойки, которая больше или равна 26).

Теперь рассчитаем, сколько бит требуется для хранения одного пароля: 20 символов×5 бит на символ=100 бит Так как 1 байт = 8 бит, количество байтов, необходимых для хранения одного пароля, равно: 100 бит8 бит на байт=12.5 байта Однако, так как количество байт должно быть целым числом, округлим 12.5 байта до ближайшего целого числа, которое делится нацело, что даст нам 16 байт посколькуданныеобычновыравниваютсяпограницебайтовдляоптимизациидоступакпамяти.

Таким образом, каждый пароль занимает 16 байт. Теперь можно рассчитать общий объём памяти, выделенный для хранения паролей 20 пользователей: 16 байт на пользователя×20 пользователей=320 байт

Теперь вычтем из общего объёма памяти 500байт память, занятую паролями: 500 байт320 байт=180 байт

Таким образом, 180 байт выделено для хранения дополнительных сведений о всех 20 пользователях. Рассчитаем количество байт на одного пользователя: 180 байт20 пользователей=9 байт

Итак, для хранения дополнительных сведений об одном пользователе выделено 9 байт.

avatar
ответил 11 месяцев назад

Ваш ответ

Вопросы по теме