我有一个关于加密和解密的字符串问题加密和解密字符串
我必须通过网络发送一个加密的字符串。(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);
加密毫秒加密它g的retrived作为一个字节数组
byte[] encrypted
我甚至管理使用反向方法对其进行解密,并得到消息再次
但我的问题是当我尝试将这个加密的字节数组,字符串(以通过它在网络上) ,然后将其重新转换为一个字节数组
我tryed此
String encryptedStrn = new String(encrypted); // convert to string
当我将其转换为字节数组由 byte [] enc = encryptedStrn.getBytes();
,并使用此ENC阵列解密,但输出不正确地执行了。
我错过了关于把一些基本的东西。请帮帮我。 在此先感谢
请勿使用'encryptedStrn.getBytes()'。使用Base64编码。 – CodesInChaos
DES也相当薄弱。改用AES。 – CodesInChaos
@CodeInChaos我在将字节转换为字符串时遇到了问题。 –