ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
1057520 Топик полностью
argus98 (02.12.2020 21:29, просмотров: 248) ответил Tpoeшник на Добрый! Необходимо написать функцию, которая на вход в кач. аргумента принимает число от 0x0001 до 0xFFFF а на выходе строка из 9ти символов набора '0'-'Z'
на входе число X в диапазоне 1..(216-1), на выходе Y - 0...((10+26+26)9-1) = 13537086546263551 (9 символов по основанию 62 - 10 цифр +26 строчных +26 прописных). Алгоритм шифрации: 

1) Y = (X - 1)*(206562700026 - Z)

2) переставляем и/или инвертируем биты Y согласно таблице перестановок/инверсий бит

3) переводим Y из двоичного вида в девять 62-ричных цифр

4) переводим каждую 62-ричную цифру в ASCII (0..9 = цифра, 10..35 = прописная буква, 36..61 - строчная)

Дешифрация - в обратном порядке

ps Шифром является таблица перестановок/инверсий и число Z >=0