资源简介
C语言版本的DES加密解密算法,代码!(DEV C++编译通过)
纯粹C语言写的,我在DEV C++上编译运行过.
最近一个多星期搞加密解密发现网上版本忒多,但C的少而且不全,所以现在想到贡献出来,希望给大家帮助!
代码片段和文件信息
/* DES加密解密函数库
*
* 本算法根据以下文章内容整理:
* DES算法的介绍和实现(上) http://www.vckbase.com/document/viewdoc/?id=352
* DES算法的介绍和实现(下) http://www.vckbase.com/document/viewdoc/?id=353
*
* Eric Wei 2007-4-5
*/
#include “des.h“
ULONG32 g_outkey[16][2] = {0}; /*输出的key*/
ULONG32 g_bufkey[2] = {0}; /*形成起始密钥*/
/*实现时多采用查表方式下面是定义的供查找用的表*/
static BYTE wz_lefttable[16] = {1122222212222221};
static ULONG32 wz_leftandtab[3] = {0x0 0x80000000 0xc0000000 } ;
static BYTE wz_keyleft[28] =
{
57494133251791585042342618
10259514335271911360524436
};
static BYTE wz_keyright[28] = {
635547393123157625446383022
1466153453729211352820124
};
static BYTE wz_keychoose[48] ={
14171124153281562110
23191242681672720132
415231374755304051453348
444939563453464250362932
};
static BYTE wz_pc4[64] = { /*最后一次调整*/
408481656246432 397471555236331
386461454226230 375451353216129
364441252206028 353431151195927
342421050185826 33141949175725
};
static BYTE wz_pc1[64] = { /*第一次转换时用*/
585042342618102605244362820124
625446383022146645648403224168
57494133251791595143352719113
615345372921135635547393123157
} ;
static BYTE wz_pc3[32] = {
1672021 29122817 1152326
5183110 282414 322739
1913306 2211425
} ;
static ULONG32 wz_pc2[64] = {
0x80000000L0x40000000L0x20000000L0x10000000L 0x8000000L
0x4000000L 0x2000000L 0x1000000L 0x800000L 0x400000L
0x200000L 0x100000L 0x80000L 0x40000L 0x20000L0x10000L
0x8000L 0x4000L 0x2000L 0x1000L 0x800L 0x400L 0x200L
0x100L 0x80L0x40L0x20L 0x10L 0x8L 0x4L 0x2L 0x1L
0x80000000L0x40000000L0x20000000L0x10000000L 0x8000000L
0x4000000L 0x2000000L 0x1000000L 0x800000L 0x400000L
0x200000L 0x100000L 0x80000L 0x40000L 0x20000L 0x10000L
0x8000L 0x4000L 0x2000L 0x1000L 0x800L 0x400L 0x200L
0x100L 0x80L 0x40L0x20L 0x10L 0x8L 0x4L 0x2L 0x1L
};
static BYTE exptab3[48] = {
32123454567898910111213
121314151617161718192021
202122232425242526272829
28293031321
};
static BYTE SP[8][64] =
{
{
0xe0x00x40xf0xd0x70x10x40x20xe0xf0x20xb
0xd0x80x10x30xa0xa0x60x60xc0xc0xb0x50x9
0x90x50x00x30x70x80x40xf0x10xc0xe0x80x8
0x2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13027 2007-04-12 20:58 des.c
文件 812 2007-04-05 15:43 des.h
文件 649 2008-09-23 19:39 main.c
----------- --------- ---------- ----- ----
14488 3
- 上一篇:地籍测量中界址点坐标的计算程序
- 下一篇:单片机流水灯C语言
相关资源
- 单片机流水灯C语言
- 连连看 C语言 源代码
- spath(A*算法的C语言源代码)
- 银行家算法C语言实现源文件
- C语言程序设计,谭浩强,清华大学,
- 基于51单片机多节点RS485通信带Protue
- c语言描述超松弛算法的源代码
- 最简单的PI算法(C语言)-用于控制电
- 专升本C语言
- 实序列快速傅里叶变换C语言源代码
- xrc C语言解释器
- udp 聊天室 基于linux c语言实现
- 单片机 抢答器 C语言
- c语言图书管理系统源码 c语言图书管
- 用c语言编写成绩管理系统
- C语言完成NTFS系统的文件定位和打印簇
- 哈弗曼编码的实验报告
- at89c51单片机+矩阵键盘编写的计算器
- 用C语言实现银行家算法
- 重言式判别程序源代码
- c语言写的搜索引擎完整版
- 信道容量的迭代算法的C语言实现
- 图像处理算法源代码,用C语言完成
- 约瑟夫死亡游戏C语言代码
- 拉普拉斯算子边缘检测C语言代码
- PAT乙级1001----1085全解C语言,
- 模数转换的C语言程序
- c语言课程设计-弹力球游戏
- HMM隐马尔可夫模式的经典学习C语言源
- c语言网吧计费系统源代码
评论
共有 条评论