[求助]Help!大侠帮帮忙~ 拜托拉!!!斑竹救命啊......
小弟初学C语言(老师照书念,基本是自学),现在做考题,难啊!!!思考良久还不会做,郁闷啊。。。。故麻烦大侠们帮帮忙,多谢拉!!!拜托拜托~~!!! 写程序完成对磁盘文件进行加密和解密: 1、一个字节一个字节地读出待加密的磁盘文件,对每个字节a进行位操作:① a与b异或^( a^b,a为读到字符,b为指定的密钥-非0即可,如b=0xcd)②a右移5位(a<<5)③a左移5位(a>>5)④a中3和4位数字保持不变(a&0x18)⑤前四步作整体或 | 操作,即作加密变换:a=a^b; a=a<<5|a>>5|a&0x18,并写入到加密文件中—注意:读出a及b必须定义为unsigned 2、读出已加密磁盘文件,对每个加密字节a用位操作加密变换的相反变换:①a左移5位(a>>5) ②a右移5位(a<<5) ③a中3和4位数字保持不变(a&0x18) ④上述作整体或 | 操作得到a;最后a与指定的b作为 异或^运算进行解密还原:a=a^b),并写入到一个明文文件中
[此贴子已经被作者于2004-06-16 22:31:20编辑过]