Шифрование / дешифрование RC4 для целых чисел Java - PullRequest
0 голосов
/ 16 апреля 2019

Короче, у меня есть целочисленное значение длиной около 10 цифр.Я хотел бы зашифровать его с помощью алгоритма rc4 в Java.Я вышел в интернет и начал поиск, но я смог найти шифрование только для строковых значений / открытого текста.Пожалуйста, порекомендуйте.Спасибо!

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Я предполагаю, что вы используете JavaSE API, в частности класс javax.crypto.Cipher. API шифрования связан с общими данными, которые не интерпретируются каким-либо образом; Вот почему Cipher#doFinal() принимает байтовый массив. (Вы можете интерпретировать это как строку, учитывая общие термины «открытый текст» / «зашифрованный текст».)

Решением вашей проблемы является преобразование целого числа в байтовый массив. Если в вашем случае "integer" означает int (32-бит), то вам нужно 4 байта (8-бит). См. Этот вопрос для (нескольких хороших) решений этого.

1 голос
/ 16 апреля 2019

Разве вы не можете просто преобразовать целое число в String и затем зашифровать строку?

  1. String myIntegerString = Integer.toString(myInteger);
  2. шифровать myIntegerString;
  3. хранить в зашифрованном виде myIntegerString;
  4. читать в зашифрованном виде myIntegerString;
  5. расшифровка myIntegerString;
  6. Integer.parseInt(myIntegerString).
...