我的头都快碎了:
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,所以结果字符= 69,所以c必须是69^(1/ 76 ) = 1,05729...但那是在第x个比特被咬掉之后,并且在除以密码长度之后。
我相信我永远无法解决这个问题,我要走的这条路。你能确认一下吗?消息中的字母数和结果是不同的,对吧?
发布于 2012-01-26 04:42:07
你在这里错了:
69^(1/76) = 1,05729..^是按位异或,而不是幂。
https://stackoverflow.com/questions/9009489
复制相似问题