试图加密和解密代码初学者

时间:2015-10-31 02:45:53

标签: c encryption bit-manipulation

所以这是一个比特maniuplation练习,我很困惑他们如何将字母转换为数字,我认为这些不是二进制所以我不知道他们的意思。 任何人都可以建议一种方法吗?

  

以下是加密的两个例子:“猫”和“小猫”。

     

对:“ca ts”“ki tt en s_”(_代表一个空格)成为整数:25441   29811 27497 29812 25966 29472 XOR with 31337:6408 3610 4352 3613   7943 2377

2 个答案:

答案 0 :(得分:2)

'c'的Ascii值是99,'a'的Ascii值是97.将它们视为基数256的数字。然后“ac”将是99 * 256 + 97 = 25441.注意,在C中, char是数字类型,因此'c' 99等

答案 1 :(得分:2)

每对字母的十进制五重奏只是ASCII中字符的连接十六进制值的十进制表示,例如:

"ca" = 0x63 0x61 = 0x6361 = 25441

XOR键的相同故事是

31337 = 0x7A69

的确

0x6361 ^ 0x7A69 = 0x1908 = 6408 in decimal