При создании BigInteger со строкой строка должна быть отформатирована как десятичное число.Вы не можете использовать буквы, если вы не укажете основание во втором аргументе, вы можете указать до 36 в основание.36 даст вам буквенно-цифровые символы только [0-9, az], поэтому, если вы используете это, у вас не будет форматирования.Вы можете создать: new BigInteger ("ihavenospaces", 36). Затем, чтобы преобразовать обратно, используйте .toString (36)
, НО ДЛЯ ФОРМАТИРОВАНИЯ: используйте метод byte [], который упомянули несколько человек.Это позволит упаковать данные с форматированием в наименьший размер и позволит вам легко отслеживать количество байтов
Это должно быть идеально для примера программы криптосистемы с открытым ключом RSA, при условии, что вы сохраняете количество байтовв сообщении меньше, чем количество байтов PQ
(я понимаю, что эта ветка старая)