Java对称密钥文件的生成和使用

时间:2011-05-21 11:38:10

标签: java cryptography

我正在做一份学校作业,我正在将文件从一个主机发送到另一个主机。作为其中的一部分,我需要使用对称加密技术加密正在发送的文件。

所以,我想应该有一个我需要存储在两端的密钥文件。因此,服务器使用该密钥进行加密,发件人使用相同的密钥进行解密。主人位于不同的地方。

所以,我需要一个密钥,如何生成此密钥并从磁盘读取它?或者,如果我走错了路,如果有人在这里说清楚,我会很感激。感谢。

1 个答案:

答案 0 :(得分:-3)

您可以使用现有的库,也可以自己编写一个简单的库 例如,您可以使用的密钥:

String key = "kA}#rP~McSOF~";

您可以使用密钥的方式是:例如:加密将密钥中的char添加到您要解密的文件中的char中。除了密钥char是thilde(~)之外,请使用char的补码。

String txtToEncrypt = "StackOverflow";
bytes[] encrypted = txtToEncrypt.getBytes();
for (int i = 0; i < encrypted.length; i++)
{
    int keyIndex = i % key.length();
    int cK = key.charAt(keyIndex);
    int cE = encrypted[i];
    if (cK == '~')
    {
        cE = ~cE;
    } else
    {
        cE = (cE + cK) % 255;
    }
    encrypted[i] = (byte) cE;
}

现在由您来找到解密算法。 :d