文件加密大神~~~请点入!!

qq_31887687 2016-11-18 07:43:35
现我有国密分组加密算法——sm4,想基于此做一个文件加密程序,但现在做到的仅是将txt文本读出来,加密后存到另一个文本中。我还想做成不论对txt还是word、图片都适用的,解密后仍可以打开原来的文件程序,求大神指点~~编程语言仅局限于c、c++、c#。坐等回复谢谢~~
...全文
347 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipqtjmqj 2016-11-18
  • 打赏
  • 举报
回复
引用 2 楼 qq_31887687 的回复:
[quote=引用 1 楼 ipqtjmqj 的回复:] 后缀名只是意译,不管word而是图片都可以直接用fopen打开,记得模式用"rb"与"wb", 据我所知,在Windows上加不加b的区别只是换行符会转换。
感谢关注,我在加密后再解密就无法恢复文本原来的样子了,比如加密前word中的文本是abc,加密后写入word的是乱码,再解密写入word中,还是乱码,这样加密文件就不可恢复了,请问您有什么好的办法,谢谢~[/quote] 那就是你加密解密的算法有bug了,你先试一个长度小一点的文件,方便找bug
qq_31887687 2016-11-18
  • 打赏
  • 举报
回复
引用 1 楼 ipqtjmqj 的回复:
后缀名只是意译,不管word而是图片都可以直接用fopen打开,记得模式用"rb"与"wb", 据我所知,在Windows上加不加b的区别只是换行符会转换。
感谢关注,我在加密后再解密就无法恢复文本原来的样子了,比如加密前word中的文本是abc,加密后写入word的是乱码,再解密写入word中,还是乱码,这样加密文件就不可恢复了,请问您有什么好的办法,谢谢~
ipqtjmqj 2016-11-18
  • 打赏
  • 举报
回复
后缀名只是意译,不管word而是图片都可以直接用fopen打开,记得模式用"rb"与"wb", 据我所知,在Windows上加不加b的区别只是换行符会转换。
「已注销」 2016-11-18
  • 打赏
  • 举报
回复
用 CreateFile、GetFileSize/GetFileSizeEx、ReadFile、SetFilePointer、WriteFile、CloseHandle
赵4老师 2016-11-18
  • 打赏
  • 举报
回复
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。 不要把 fopen("...","...");fscanf,fprintf,fgets,fgetc,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待 和 fopen("...","...b");fseek,ftell,fread,fwrite,fgetc,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待 弄混了

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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