加密字符串存到txt里,读出来解不了密

lshfong 2013-03-15 09:53:02
直接用加密后的结果解密,能正常解密 。但是加密字符串存到txt里,读出来却解不了密,是怎么会事呢
加密算法我是用的这个http://blog.csdn.net/markely/article/details/8203928

QFile f("E:\\c++\\Qt4Code\\testAES\\debug\\key.txt");
//写入
f.open(QIODevice::WriteOnly);
QTextStream t(&f);
t << miwen;
f.close();

//读出
char jiemi_txt[1024];
QFile ff("E:\\c++\\Qt4Code\\testAES\\debug\\key.txt");
f.open(QIODevice::ReadOnly);
QTextStream tt(&f);
QString b=tt.read(300) ;
qDebug() << "================================\n\r";
aes->OnAesUncrypt((LPVOID)b.data(), (DWORD)sizeof(b.data()),(LPVOID)jiemi_txt); //进行解密
qDebug() << "duchu:" <<jiemi_txt;
ff.close();
...全文
158 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-03-18
  • 打赏
  • 举报
回复
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。 不要把 fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待 和 fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待 弄混了
乔巴好萌 2013-03-15
  • 打赏
  • 举报
回复
比较下写入的QByteArrary和读出的QByteArry 看是否一致
慕少艾 2013-03-15
  • 打赏
  • 举报
回复
自己写个测试程序 不久行了
sduxiaoxiang 2013-03-15
  • 打赏
  • 举报
回复
写进去 读出来的东西 肯定不是完全一致。。。看看内存中的 和读出来的差异
  • 打赏
  • 举报
回复
下断点,查看写入时候的内存数据,和读取时候的内存数据。看看有那些地方不同。 另外,这一句很不解 QString b=tt.read(300) ; 为什么读300?如果文本保存的数据超过300单位呢,只有部分解密,可能结果不一样吧
lshfong 2013-03-15
  • 打赏
  • 举报
回复
//写入
	f.open(QIODevice::WriteOnly);
	f.write(miwen);
	f.close();

	//读出
	QFile ff("E:\\c++\\Qt4Code\\testAES\\debug\\key.txt");
	ff.open(QIODevice::ReadOnly);
	QByteArray bydata=ff.readAll();

	qDebug() << "================================\n\r";
	aes->OnAesUncrypt((LPVOID)bydata.constData(), (DWORD)sizeof(bydata),(LPVOID)jiemi_txt); //进行解密
		qDebug() << "duchu:" <<jiemi_txt;
	ff.close();
lshfong 2013-03-15
  • 打赏
  • 举报
回复
不行啊,改成二进制的还是不能解密
图灵狗 2013-03-15
  • 打赏
  • 举报
回复
调试一下看看是否数据内容是否正确,很有可能是你按照文本文件进行存储,这样换行符可能会出问题,Windows下遇到0x0a,就会改为0x0d 0x0a,所以特别注意一下。
dubiousway 2013-03-15
  • 打赏
  • 举报
回复
不要写成 txt 文本文件;存成二进制文件试试

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧