在挑战中组合 c = c & (1 << 位) 和 int c = passkey.charAt(i % passkey.length()



我为这个问题伤透了脑筋:

    for(i=0; i<message.length(); i++) {
        int c = passkey.charAt(i % passkey.length());
        int d = message.charAt(i);
        c = c & (1 << bit);
        result = result + (char)(c ^ d);    
    }

我知道LyJwNh9iPil3(消息)翻译成ENCRYPTED(结果)。我不能弄清楚的是,使用的密钥应该是什么。目前,我被困在:

L=76E=69所以结果char=69,所以c必须是69^(1/76)=105729……但那是在第x个比特被咬掉之后,在除以密码长度之后。

我相信我永远无法解决这个问题,我要走的路。你能证实吗?邮件中的字母数和结果不同,对吧?

您错了:

69^(1/76) = 1,05729..

^是按位XOR,而不是幂。

相关内容

最新更新