Насколько можно уменьшить длину строки уникального ключа, используя вместо 16-тиричных цифр 32-х знаковый алфавит? Здравствуйте.
Подскажите, пожалуйста, кто в теме.
UID (guid, uuid) записывается в виде строки из тридцати двух шестнадцатеричных цифр. Общее количество уникальных ключей составляет 2 в 128 степени.
Насколько можно уменьшить длину строки, используя вместо 16-тиричных цифр (0-f) 32-х знаковый алфавит (0-f и еще 16 букв)? А 64-ти знаковый? Какова математическая зависимость при условии, что общее количество уникальных ключей должна быть не менее 2 в 128 степени.
Спасибо.

21 Авг 2019 в 06:05
132 +1
0
Ответы
1

Здравствуйте! С использованием 32-х знакового алфавита 0−9,a−v0-9, a-v09,av у вас получится использовать каждый символ для кодирования 5 бит информации. Для общего количества уникальных ключей, равного 2 в 128 степени, вам понадобится 128 бит информации. Таким образом, при использовании 32-х знакового алфавита вам потребуется 128 бит / 5 бит = 25.6 символов, что округляется до 26 символов.

Если же вы используете 64-х знаковый алфавит 0−9,a−z,A−Z,иещедвасимвола0-9, a-z, A-Z, и еще два символа09,az,AZ,иещедвасимвола, то каждый символ будет кодировать 6 бит информации. Для общего количества уникальных ключей, равного 2 в 128 степени, вам все равно потребуется 128 бит информации. Таким образом, при использовании 64-х знакового алфавита вам также потребуется 128 бит / 6 бит = 21.3 символов, что округляется до 22 символов.

Таким образом, при использовании 32-х знакового алфавита вы сможете уменьшить длину строки до 26 символов, а при использовании 64-х знакового алфавита до 22 символов, при условии, что общее количество уникальных ключей будет не менее 2 в 128 степени.

20 Апр 2024 в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир