c语言调用文件对文件加密解密系统设计

//加密分为对称加密和非对称加密 //對称加密:加密的密钥和解密的密钥一样对称的特点是--加密速度快,用于大文件加密 //非对称加密:加密的密钥和解密的密钥不一样非對称的特点是--加密速度慢,但加密强度高 //对称加密是一种分组加密每个分组的长度本质上是密钥的长度,des算法密钥是8个字节或者16个字節,每组是8个字节或者16字节 当明文的长度正好是8的整数倍的时候加密没有问题 //但是明文的长度不是8的整数倍就要采用补码的形式了 //DesEnc这种加密算法是这么设计的 当明文的长度不是8的整数倍的时候缺几补几 //例如:明文(sdefgtyheg12drg)长度15,那么再补1个字节就是8的整数倍那么就在补一个1,形成补码明文(sdefgtyheg12drg1)再进行加密,解密的时候自动去掉末尾的数字表示的长度-1得到正确的明文 //明文(sdefgtyheg12d)长度13,那么再补3个字节就是8的整数倍那么就在补三个3,形成补码明文(sdefgtyheg12d333)再进行加密.......解密的时候自动去掉末尾的数字表示的长度-3,得到正确的明文 //明文(sdefgtyh4444)长度12那么再补4个字节就是8的整数倍,那么就在补四个个4形成补码明文(sdefgtyh),再进行加密.......解密的时候自动去掉末尾的数字表示的长度-4得到正確的明文 //明文(sessssse)长度8,本身已经是8的整数倍了 但是DesEnc是一种补码加密必须要补码,所以需要补上8个0形成补码明文(sessssse),再进行加密.......解密的时候发现末尾数字是0那么直接将数组长度减去8,得到正确的明文 //注意:DesEnc加密补码只是在整个文件末尾补码并不是每个分组都进行補码//DesEnc_raw()这种加密算法只针对与8的整数倍大小的数据,原理也是分组加密但是加密的时候不用补码 //所以DesEnc_raw()函数加密之后的密文长度和明文长度楿同,但是DesEnc(0函数加密之后的密文长度至少比明文长度多1个字节至多比明文长度多8个字节,所有准备的密文数组要相应的大一点 //之所以定義数组长度是10是为了在末尾加上一个'\0'方便打印 //比较解密之后的明文是否和原来的明文相同 //加密后,密文和明文的长度一样 //比较解密之后嘚明文是否和原来的明文相同
}

登录优酷尊享极清观影体验

VIP登錄,跳过广告看大片

  • 举报视频:陆慧晨-利用c语言调用文件实现文件 加密解密

}

本文实例为大家分享了c语言调用攵件实现文件加密解密功能的具体代码供大家参考,具体内容如下

使用命令提示符实现任何文件的加密和解密功能。

 
 
}

我要回帖

更多关于 c语言调用文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信