Если вам не нужно, чтобы он был слишком защищенным, вы можете просто использовать простой симметричный шифр после кодирования в BaseXXX. Например, вы можете выбрать последовательность ключей из целых чисел [n₁, n₂, n₃ ...], а затем использовать Vigenere шифр .
Основная идея шифра проста - кодировать каждый символ C как C + K (mod 26), где K - элемент ключа. По мере продвижения, просто получите следующий номер из ключа для следующего символа, оборачиваясь, как только у вас заканчиваются значения в ключе.
У вас действительно есть два варианта: вы можете сначала преобразовать число в строку в baseXXX, а затем зашифровать, или вы можете использовать ту же идею, чтобы просто зашифровать каждое число как один символ. В этом случае вы хотели бы изменить его с mod 26
на mod N + 1
.
Если подумать, еще более простым вариантом будет просто xor
элемент из ключа и значения. (В отличие от использования формулы Vigenere.) Я думаю, что это будет работать так же хорошо для запутывания.