求解一个java编程题
3. 用Java语言编写一个文件加密解密程序:要求:(1) 对于输入的源文件路径和目的文件路径,以及密钥列表,能把源文件中的内容取出,加密后存入目的文件。
(2) 加密的方式是组内循环右移动。
(3) 解密的方式是组内循环左移。
(4) 分多少组是由密钥数量决定的,组数和密钥数量相同。
(5) 如果两个字符的Unicode值分别模密钥数的结果相同,则这两个字符在同一组中。
(6) 对于字符数组{‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, }。它们的Unicode值分别是48,49,50,51,52,53,54,55,56,57。如果加密密钥是2,3,则说明Unicode值是偶数的分为一组,Unicode值是奇数的分为一组。加密后,字符数组变为{‘6’, ‘5’, ‘8’, ‘7’, ‘0’, ‘9’, ‘2’, ‘1’, ‘4’, ‘3’ }。原来的’0’在同组内向右移动2位,到了’4’的位置。而’8’在同组内向右移动2位,到了原来’2’的位置。原来的’1’在同组内向右移动3位,到了原来’7’的位置。