Использование двоичных данных внутри doFinal () - javax.crypto.Cipher - PullRequest
2 голосов
/ 23 марта 2011

В моем проекте я xor'ed (извините, но не знаю правильного глагола) строку и зашифрован RSA-1024.Теперь у меня есть операции XOR и зашифрованы строка, как:

994624f87a00f4c3066c2a2d38917fe4971be8ad4e6ba58d14cc8b27ab8db84ec2a577f7bda1839cb9843ce6f738f51807ba127b775725ef14e3cea61091bf1fdcfa1372e1975f1b9418b0ad396bea5e7d2a832b8c4161e3b0595f7ed7e57eeda0ad8ab7a7268c871ab4e6d13e3caccaa8b54740ec2d1b8d23d835ff77c78161

Когда я пытаюсь расшифровать с ...

1010 *

он возвращает нелогичные символы, такие как

1017 * я знаю причину;когда биты, имеющие надлежащие аналоги ascii, заштрихованы, ответ может не иметь аналога ascii.Поэтому я пытаюсь найти другой формат, такой как двоичный файл, чтобы использовать внутри doFinal ().

С нетерпением жду ответа,

Заранее спасибо.

1 Ответ

0 голосов
/ 23 марта 2011

Почему вы делаете XOR-текст?Если вы все равно собираетесь его зашифровать, XORing, похоже, ничего не добьется.

Помимо этого cipherData - это вводящее в заблуждение имя: это фактически ваш (XORd) открытый текст, поскольку вы получаете его изшаг расшифровки.

Если вы продолжите использовать схему XOR, вам нужно снова выполнить XOR этих байтов, прежде чем пытаться декодировать их в строку.Когда вы делаете этот шаг, вам, вероятно, нужно указать используемую кодировку, например, UTF-8, просто чтобы быть в безопасности.

...