C语言风格字符串在DES加密后可能存在的问题
2014-11-17 Felix
1.问题描述
对一个字符串我在进行DES加密后,用C语言的文件操作fprintf的%s格式写入文件。
在读取时问题出现了,当使用fscanf的%s格式进行读取时只读取字符串的一部分。
2.原因分析
DES加密是按8字节一组时行加密的,加密后的内容如果用字符串进行处理可能会存在一些特殊字符。
比如回车,换行都是有可能的。
3.解决方法
字符串DES加密后的内容要按内存块进行操作,比如写文件时改为fwrite将内存块直接写入文件,
同样在读取文件时使用fread,读取指定长度的内容。