【简答题】
大作业( 做到 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, 二进制为 01 01 0111. 第二次加密时,左边循环 2 位移动到右边是: 010111 01, 其 16 进制 数为 :0x5d ,这就是第二次加密的结果(是假设第一次加密结果为 W 的情况下)。 第三次: 用秘钥的第三个字符的反向 ASC 码对目标字符进行异或。如秘钥的第三个字符为 C, 则其 ASC 码的 16 进制为 0x43, 二进制为 01000011 ,反向 ASC 码(从右边到左边数)为 ,11000010 , 16 进制为 0xC2, 这时用 0xC2 继续第三次对目标字符进行加密,最后得到 100 个目标字符的加密结果。 这样做的目的是:将来为了解密 。 (注:此作业用到 C 语言中:字符串,循环,判断,数组,指针,键盘输入函数等知识点,务必认真完成)
参考答案:
参考解析:
举一反三