【简答题】
作业6:基于C语言编程实现,编程环境VC6.0 大作业(做到1次加密成绩中,二次加密成绩良,3次加密全做完,成绩得优) 设计一个加密机。要求是针对100个字符组成的字符串进行加密。 方法是:事先设计一个由3个字符组成的字符串作为秘钥,用此秘钥对100个字符组成的字符串进行运算加密。秘钥字符串由字母加数字构成,秘钥第1个字符为任意字符,第2个字符为1-7之间的数字,第3个字符为任意字符。 要求是:第一次:用秘钥的第1个字符对目标字符进行异或运算,如目标是’A’,秘钥是’C’,第1次,A XOR C; 第二次:用秘钥的第2个字符的对目标字符ASC的16进制数据进行循环左移位,如数字为2,则左边的位移动2个到右边。如第一次加密结果是’W’,其16进制asc数据为:0x57,二进制为0101 0111. 第二次加密时,左边循环2位移动到右边是:010111 01, 其16进制 数为:0x5d,这就是第二次加密的结果(是假设第一次加密结果为W的情况下)。 第三次:用秘钥的第三个字符的反向ASC码对目标字符进行异或。如秘钥的第三个字符为C,则其ASC码的16进制为0x43,二进制为01000011,反向ASC码(从右边到左边数)为,11000010,16进制为0xC2,这时用0xC2继续第三次对目标字符进行加密,最后得到100个目标字符的加密结果。这样做的目的是:将来为了解密。 (注:此作业用到C语言中:字符串,循环,判断,数组,指针,键盘输入函数等知识点,务必认真完成)
参考答案:
参考解析:
举一反三