使用小写的密码错误

时间:2016-02-15 16:41:15

标签: java encryption caesar-cipher

我为我的计算机科学课编写了一个密码,我的加密和解密适用于大写字母,但不适用于小写字母。例如," Dog"假设加密到" Eph"。相反,我得到了#34; Ebt"。 " DOG"加密就好了。

这是我的代码:

        Plan p = new Plan();
        CostPeriod cp = new CostPeriod();
        p.costPeriod = cp;
        cp.plan = p;
        session.persist(p);

编辑:论坛有不同的+和 - 符号。我会保留代码,因此每个人都在同一页面上。遗憾。

1 个答案:

答案 0 :(得分:1)

我发现caesarEncrypt中的两种加密算法都存在问题。 将c后的+替换为 -

  if(Character.isLetter(c)){
     if(Character.isUpperCase(c))
         r += (char)('A' + (c - 'A' + secretKey) % 26);
     else
         r += (char)('a' + (c - 'a' + secretKey) % 26);