Java加密聊天服务器文件传输

时间:2013-11-30 20:40:38

标签: sockets encryption file-transfer

我正在开发一个使用AES加密传输数据和文件的聊天服务器应用程序。我正在使用 DataOutputStream DataInputStream 来发送和接收数据以及文件。我正在做的是读取数据或文件对其进行加密,并以字节形式将其写入流中。方法适用于文本和文本文件,但对其他类型的文件不够好。请提出建议以解决此问题。

发件人代码

    size = fin.read(b);
    byte encrypted[] = new byte[4 * 1024 * 1024];
    System.arraycopy(encrypted, 0, message, 128, encrypted.length);
    System.out.println(message.length + " " + encrypted.length);
    dout.write(message, 0, encrypted.length + 128);
    dout.flush();

收件人代码

   message = Client.decrypt(key, b, length);
   FileOutputStream fout = new FileOutputStream("./" + fileName);
   fout.write(message.getBytes());
   fout.flush();
   fout.close();

问题已解决我将解密数据作为String返回,这会抑制不可读的字符。在没有不可读的情况下写入字节会使文件损坏。感谢大家。

0 个答案:

没有答案