我有一个关于加密和解密字符串的问题
我必须通过网络发送一个加密字符串。(一个 android 应用程序是客户端)这是我到目前为止所做的
byte[] input = getByteArray(filePath);//get the message stored in a file as a byte array
通过阅读一些教程,我设法将字符串消息发送到字节数组并使用 javax.crypto 对其进行加密
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec);
加密的 msg 被检索为字节数组
byte[] encrypted
我什至设法使用反向方法对其进行解密并再次获取消息
但是当我尝试将此加密的字节数组转换为字符串(通过网络传递它)然后将其重新转换为字节数组时,我的问题就出现了
我试过这个
String encryptedStrn = new String(encrypted); // convert to string
当我通过 byte[] enc = encryptedStrn.getBytes() 将其转换为字节数组时;
并使用此 enc 数组解密,但输出不正确。
我是否错过了一些有关转换的基本内容。请帮我。提前致谢