Насколько можно уменьшить длину строки уникального ключа, используя вместо 16-тиричных цифр 32-х знаковый алфавит? Здравствуйте. Подскажите, пожалуйста, кто в теме. UID (guid, uuid) записывается в виде строки из тридцати двух шестнадцатеричных цифр. Общее количество уникальных ключей составляет 2 в 128 степени. Насколько можно уменьшить длину строки, используя вместо 16-тиричных цифр (0-f) 32-х знаковый алфавит (0-f и еще 16 букв)? А 64-ти знаковый? Какова математическая зависимость при условии, что общее количество уникальных ключей должна быть не менее 2 в 128 степени. Спасибо.
Здравствуйте! С использованием 32-х знакового алфавита (0-9, a-v) у вас получится использовать каждый символ для кодирования 5 бит информации. Для общего количества уникальных ключей, равного 2 в 128 степени, вам понадобится 128 бит информации. Таким образом, при использовании 32-х знакового алфавита вам потребуется 128 бит / 5 бит = 25.6 символов, что округляется до 26 символов.
Если же вы используете 64-х знаковый алфавит (0-9, a-z, A-Z, и еще два символа), то каждый символ будет кодировать 6 бит информации. Для общего количества уникальных ключей, равного 2 в 128 степени, вам все равно потребуется 128 бит информации. Таким образом, при использовании 64-х знакового алфавита вам также потребуется 128 бит / 6 бит = 21.3 символов, что округляется до 22 символов.
Таким образом, при использовании 32-х знакового алфавита вы сможете уменьшить длину строки до 26 символов, а при использовании 64-х знакового алфавита до 22 символов, при условии, что общее количество уникальных ключей будет не менее 2 в 128 степени.
Здравствуйте! С использованием 32-х знакового алфавита (0-9, a-v) у вас получится использовать каждый символ для кодирования 5 бит информации. Для общего количества уникальных ключей, равного 2 в 128 степени, вам понадобится 128 бит информации. Таким образом, при использовании 32-х знакового алфавита вам потребуется 128 бит / 5 бит = 25.6 символов, что округляется до 26 символов.
Если же вы используете 64-х знаковый алфавит (0-9, a-z, A-Z, и еще два символа), то каждый символ будет кодировать 6 бит информации. Для общего количества уникальных ключей, равного 2 в 128 степени, вам все равно потребуется 128 бит информации. Таким образом, при использовании 64-х знакового алфавита вам также потребуется 128 бит / 6 бит = 21.3 символов, что округляется до 22 символов.
Таким образом, при использовании 32-х знакового алфавита вы сможете уменьшить длину строки до 26 символов, а при использовании 64-х знакового алфавита до 22 символов, при условии, что общее количество уникальных ключей будет не менее 2 в 128 степени.