⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cbc_cksm.c

📁 一个DES、3DES加解密的库文件
💻 C
字号:
/* cbc_cksm.c *//* Copyright (C) 1993 Eric Young - see README for more details */#include "des_locl.h"unsigned long des_cbc_cksum(input,output,length,schedule,ivec)des_cblock *input;des_cblock *output;long length;des_key_schedule schedule;des_cblock *ivec;	{	register unsigned long tout0,tout1,tin0,tin1;	register long l=length;	unsigned long tin[2],tout[2];	unsigned char *in,*out,*iv;	in=(unsigned char *)input;	out=(unsigned char *)output;	iv=(unsigned char *)ivec;	c2l(iv,tout0);	c2l(iv,tout1);	for (; l>0; l-=8)		{		if (l >= 8)			{			c2l(in,tin0);			c2l(in,tin1);			}		else			c2ln(in,tin0,tin1,l);					tin0^=tout0;		tin1^=tout1;		tin[0]=tin0;		tin[1]=tin1;		des_encrypt((unsigned long *)tin,(unsigned long *)tout,			schedule,DES_ENCRYPT);		/* fix 15/10/91 eay - thanks to keithr@sco.COM */		tout0=tout[0];		tout1=tout[1];		}	if (out != NULL)		{		l2c(tout0,out);		l2c(tout1,out);		}	tout0=tin0=tin1=tin[0]=tin[1]=tout[0]=tout[1]=0;	return(tout1);	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -