des加密算法提供CBC,OFB,CFB,ECB四种模式,MAC是基于ECB实现

结合开源加密库openssal,本次加密为cbc模式,在此加密模式下,关键部分是私钥key和向量iv。

分三步:1.set key,2.加密,3.base64转换。在用calloc分配加密字符串需要的存储空间后,可初始化改内存空间的值为需要补位的值,即可先完成补位一步,再把加密字符串memcpy到相应指针变量。加密结束对加密结果做一下base64转换即可正确输出。

解密也分为三步:1.set key,2.base64转换,3.解密。需要注意的是必须去掉加密做的补位,采取的做法是在得出数据长度后,在相应位置添加结束符。

des加解密时要求数据必须为8个字节。

数据的有Nopadding,pkcs5padding,pkcs7padding等填充方式,pkcs7padding:加密数据长度对8取余为m,若m大于0,则补m个m,若等于0,则补8个8。解密后:取最后一个字节值为m,则从数据尾部删除m个字节,剩余数据即为加密前的原文。