C++中这个字符串加密的规则怎么解?(急!)

来源:百度知道 编辑:UC知道 时间:2024/04/30 08:47:51
加密规则:字符串的每一位等于自身与其后面每一位相或的结果,字符串的最后一位与第一位相或。
哪位好心人给个解密的思路啊~~
还有个问题:使用文件进行数据的输入输出时,怎么从文件中单个提取字符??
第二个问题:我是想把文件中的字符串分成单个字符放到一个字符数组里面。~~

题目有错!应该是相异或,还应该提示首字符(123和abc加密后的结果是一样的),这样才能有加密的算法,下面是解密的算法,从文件中获取密文(某些密文从键盘无法输入).
char *jiemi(char*ru,int n) //解密函数
{
char *chu=new char[n+1];
chu[0]=ru[0];
//原字符串首字符在文件‘test.txt’中手动加入(放在第一个)并保存
for(int i=1;i<n;i++)
{
chu[i]=chu[i-1]^ru[i];
}
chu[n-1]=0;
return chu;
}

第一个问题:你大可以把26个字符加密的结果计算出来,得到一张表,如果表中是一一对应的,说明可以解密,否则则该加密方法不可解;
第二个问题:使用get函数

第二个问题的补充:get(char *, int) ,第一个参数就是你的字符数组名,第二个则是你一次需要读入多少字符,使用完这个函数后就满足你的要求了。具体的细节自己试一下就知道了。