1)将该字符的ASCII码转换成 8 位二进制数(不足8位的,高位补上相应数量的0);
2)将上述 8 位二进制循环左移 3 次(移出的数位放在最右边);
3)将上述处理后的 8 位二进制数依次取反(1 变 0,0 变 1);
4)最后将这 8 位二进制分成左右两个 4 位二进制数,分别转换成十进制数,然后从密钥字符串中取出相应的字符作为密码。密钥见下表:
值(十进制) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
加密字符 | W | g | Q | # | f | 0 | 2 | y | * | ? | S | c | A | p | x | T |
例如,明文小写字母“a”,通过上述加密算法加密后的密文是“Tf”,加密过程如下:
“a的ASCII码为97,转换成二进制是01100001”→“逐位取反后为10011110”→“循环左移3次为11110100”→“转换为两个十进制数分别为15,4”→“得到密文Tf”。
程序运行界面如下图所示:
实现上述功能的程序如下,请回答下列问题: