加密和解密 - 代码问题

时间:2013-05-07 11:20:02

标签: android encryption

您好我的代码(代码1)下面的代码应该反转另一个代码(代码2)的效果,但它在任何一个代码中都无法正常工作。有人可以帮我弄这个吗? :)

代码2接受一个文本并取出每个字母,用一个数字对它进行计时,然后用模数29找到其余字母。这个新号码就是加密的字母。我想用代码1来解决这个问题。

我的字母= a,b,c,...,æ,ø,å= 29个字母

具有因子1,2和3的示例“你”变为

(25 * 1)%29 = 25

(15 * 2)%29 = 1

(21 * 3)%29 = 5

“YAE”

然后要反转它我接受新的字母,除以因子并检查是否是没有小数的数字。如果不是,那么我将29添加到lettervalue并重新开始。

示例再次使用1,2和3

“YAE”

(25/1)%29 = 25

(1/2)%29 = 0.5然后加29

(30/2)%29 = 15

(5/3)%29 = 1,66然后加29

(34/3)%29 = 11,33然后加29

(63/3)%29 = 21

“你”

代码1

String initialString = yourString.getText().toString();
        char[] chars = initialString.toCharArray();
        for (int i = 1; i <= chars.length; i++) {
            if (chars[i-1] == ' '){
                continue;   
            }
            C = Integer.valueOf(faktorA);
            if ( i%2 ==0 ) C = Integer.valueOf(faktorB);
            if ( i%3 ==0 ) C = Integer.valueOf(faktorE);

            chars[i-1] = characters.get((characters.indexOf(chars[i-1]) / C)%29);

            if(chars[i-1]%1 != 0){
                chars[i-1] = (char) (chars[i-1] * C + 29);
                chars[i-1] = characters.get((characters.indexOf(chars[i-1]) / C)%29);
            }
        }

代码2

    String initialString = yourString.getText().toString();
        char[] chars = initialString.toCharArray();
        for (int i = 1; i <= chars.length; i++) {
            if (chars[i-1] == ' '){
                continue;   
            }
            C = Integer.valueOf(faktorA);
            if ( i%2 ==0 ) C = Integer.valueOf(faktorB);
            if ( i%3 ==0 ) C = Integer.valueOf(faktorE);

            chars[i-1] = characters.get((characters.indexOf(chars[i-1]) * C)%29);
        }

0 个答案:

没有答案