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

📄 des.h

📁 移动使用的加密程序
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
/*
   Provided by 王俊川, Northeastern University (www.neu.edu.cn)
Email: blackdrn@sohu.com
This product is free for use.
 */
//////////////////////////////////////////////////////////////////////////

/** \defgroup libcd  编码解码模块(libcd) */
/** \{*/
/** \file Des.h
 *  \brief 定义Des算法的加码解密函数 */
/** \}*/

/** \example DES_Test.cpp
 *  \brief Des加密解密的示例程序  
 */


/** \enum 
 *  \brief 用于指定操作类型的枚举 */
enum    
{
	ENCRYPT, /**< 加密操作*/
	DECRYPT  /**< 解密操作 */
};

//enum    bool{false,true}; // if bool is not supported,use this or just replace with char
// and use 1 for true,0 for false;
//////////////////////////////////////////////////////////////////////////

// Type—ENCRYPT:加密,DECRYPT:解密
// 输出缓冲区(Out)的长度 >= ((datalen+7)/8)*8,即比datalen大的且是8的倍数的最小正整数
// In 可以= Out,此时加/解密后将覆盖输入缓冲区(In)的内容
// 当keylen>8时系统自动使用3次DES加/解密,否则使用标准DES加/解密.超过16字节后只取前16字节

/** \defgroup libcd  编码解码模块(libcd) */
/** \{*/

/** \brief Des加密/解密函数
 *  \param Out - 加密/解密结果输出缓冲区指针
 *  \param In - 加密/解密输入缓冲区指针,In 可以= Out,此时加/解密后将覆盖输入缓冲区(In)的内容
 *  \param datalen - 输入字符串的长度
 *  \param Key - 密钥
 *  \param keylen - 密钥长度
 *  \param Type - 操作类型,通过枚举值ENCRYPT指定加密操作,或者通过DECRYPT指定解密操作 
 *  \return 加密/解密结果是否成功 */
bool Des_Go(char *Out,char *In,long datalen,const char *Key,int keylen,bool Type = ENCRYPT);

/** \brief 计算Des加密之后的长度,可以用于分配输出缓冲 
 *  \param src_len - 输入的长度  
 *  \return 返回输入值上取整到最近的一个8的整数倍的值 */
long  Des_Length(long src_len);



/** \}*/

//////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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