DES加密解密C/C++
2016-06-30 09:50
791 查看
DES加密解密库
http://www.ualberta.ca/dept/chemeng/AIX-43/share/man/info/C/a_doc_lib/libs/commtrf1/cbc_crypt.htm
头文件”des_crypt.h”
示例
http://www.ualberta.ca/dept/chemeng/AIX-43/share/man/info/C/a_doc_lib/libs/commtrf1/cbc_crypt.htm
头文件”des_crypt.h”
示例
#include <iostream> #include <rpc/des_crypt.h> using namespace std; //DES ECB加密 void des_encrypt(const char *key, char *data, int len) { char pkey[8]; strncpy(pkey, key, 8); des_setparity(pkey); ecb_crypt(pkey, data, len, DES_ENCRYPT); } //DES ECB解密 void des_decrypt(const char *key, char *data, int len) { char pkey[8]; strncpy(pkey, key, 8); des_setparity(pkey); ecb_crypt(pkey, data, len, DES_DECRYPT); } //DES CBC加密 void cbc_des_encrypt(const char *key, char *data, int len, const char *ivec) { char pkey[8]; strncpy(pkey, key, 8); char vec[8]; strncpy(vec, ivec, 8); des_setparity(pkey); cbc_crypt(pkey, data, len, DES_ENCRYPT, vec); } //DES CBC解密 void cbc_des_decrypt(const char *key, char *data, int len, const char *ivec) { char pkey[8]; strncpy(pkey, key, 8); char vec[8]; strncpy(vec, ivec, 8); des_setparity(pkey); cbc_crypt(pkey, data, len, DES_DECRYPT, vec); } int main() { char data[4096] = "cea3e8e1659582206e0be32539729e9ff"; int len = strlen(data); cout<<len<<endl; //获取数据需要多少个8字节容纳 int slice_num = 0; if(len % 8 == 0) { slice_num = len/8; } else { slice_num = len/8 + 1; } cbc_des_encrypt("desmiyao", data, slice_num*8, "cbcinive"); printf("%s\n", data); cbc_des_decrypt("desmiyao", data, slice_num*8, "cbcinive"); cout<<data<<endl; return 0; }
相关文章推荐
- C++中this指针的理解和用法
- 站在巨人的肩膀上,C++开源库大全
- STM32开发C语言---switch
- C,C++表达式中含++的求值顺序
- 一起talk C栗子吧(第一百六十八回:C语言实例--C语言中的布尔--bool类型)
- 彻底搞定C语言指针详解-完整版-时候初学者-必备
- STM32开发C语言基础知识---关键字volatile
- C++中两种计算时间方法的比较
- C++异常处理: try,catch,throw,finally的用法
- C++如何声明类成员函数指针或类成员变量指针(A::*)
- c++银行家算法
- 名字修饰约定extern "C"与extern "C++"浅析
- 关于__stdcall和__cdecl调用方式的理解
- 类与对象
- 【读书笔记】【C++】类外访问私有数据成员的两种方式
- # C 语言编写二进制/十六进制编辑器
- 关于C++ 编译 链接 的一些有趣的事情
- C/C++语言里的near和far是什么意思?
- C语言的编译链接过程详解
- NOIP2000普及组 计算器的改良 Codevs1015 字符串复杂处理