У меня есть вопрос относительно шифрования и дешифрования строкишифровать и дешифровать строку
Я должен отправить зашифрованную строку по сети. (Андроид приложение является клиентом) это то, что я сделал до сих пор
byte[] input = getByteArray(filePath);//get the message stored in a file as a byte array
, пройдя через какой-то учебник я сумел получить сообщение типа String в массив байтов и зашифрованы его с помощью javax.crypto
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec);
шифрованные мс г является retrived как массив байт
byte[] encrypted
я даже сумел расшифровать его с помощью обратного метода и получить сообщение снова
, но моя проблема возникает, когда я пытаюсь преобразовать этот зашифрованный массив байт строки (в передать его через сеть) , а затем повторно преобразовать его в массив
байт я судимое это
String encryptedStrn = new String(encrypted); // convert to string
, когда я преобразовать его в байтовый массив на byte [] enc = encryptedStrn.getBytes();
и использовать этот массив массивов для дешифрования, но вывод не подходит.
Я пропустил некоторые основные вещи, касающиеся преобразования. Пожалуйста, помогите мне. Заранее спасибо
Не используйте 'encryptedStrn.getBytes()'. Используйте кодировку Base64. – CodesInChaos
DES тоже довольно слаб. Вместо этого используйте AES. – CodesInChaos
@CodeInChaos У меня проблема с преобразованием байтов в строку. –