将密码存储在文件中:RSA实现

时间:2012-02-11 05:34:44

标签: java file-io rsa

我的加密和解密在不使用文件的情况下运行良好。但是我必须将加密数据存储在一个文件中并将其传输到对等系统,在那里我必须读取文件并对其进行解密。 我面临的问题是,加密上的一个unicode给了我一组这样的unicodes(这就是我的密码)。

                                  ☺ ╪iß 

当我将这些密码存储在文件中时,将分别对每个unicode进行解密。但应该为相应的unicodes集合进行解密以取回我的明文。我该如何将它们存储在文件中?如何在解密时选择相应的unicode来取回我的明文?我正在使用1024位大小的密钥。

1 个答案:

答案 0 :(得分:1)

加密算法不适用于unicode字符。它们处理二进制数据:字节数组。

如果需要加密unicode文本(例如String),则为String选择非有损字节编码(例如UTF-8),将String转换为字节数组{{1} }),加密字节数组,并将生成的字节数组写入文件。

解密时,将文件作为字节数组读取,解密此字节数组(提供另一个字节数组),并使用相同的字符编码从该字节数组重新创建一个字符串:String.getBytes("UTF-8")