当前位置: 首页 > news >正文

建设银行金牛支行网站常用素材网站

建设银行金牛支行网站,常用素材网站,学做美食网站,品牌建设提升💡 需要该C实用库源码的大佬们,可搜索微信公众号“希望睿智”。添加关注后,输入消息“超级好用的C实用库”,即可获得源码的下载链接。 概述 MD5信息摘要算法是一种广泛使用的密码散列函数,由Ronald L. Rivest在1991年设…

💡 需要该C++实用库源码的大佬们,可搜索微信公众号“希望睿智”。添加关注后,输入消息“超级好用的C++实用库”,即可获得源码的下载链接。

概述

        MD5信息摘要算法是一种广泛使用的密码散列函数,由Ronald L. Rivest在1991年设计并公布。它是MD4算法的增强版,用于确保信息的安全性和完整性。MD5接受任意长度的消息作为输入,并输出一个固定长度的128位(16字节)散列值,通常以32位的十六进制数形式表示,每个字节两位。

CHP_Md5

        为了方便使用MD5信息摘要算法,我们封装了CHP_Md5类。MD5算法通过一系列复杂的非线性操作,包括:位运算、逻辑函数和加法运算,将输入信息分为512位的块进行处理。整个过程分为四个步骤,每一步使用不同的非线性函数和常数,经过多次迭代完成。

        CHP_Md5类的头文件,可参考下面的示例代码。

#pragma onceclass CHP_Md5
{
public:CHP_Md5();~CHP_Md5();void Init();int Update(unsigned char *pucInput, unsigned int uiInputLen);int Final(unsigned char pucOutput[16]);static int CalcDigest(unsigned char *pucInput, unsigned int uiInputLen, unsigned char pucOutput[16]);private:static void MD5Transform(unsigned int puiState[4], unsigned char pucBlock[64]);static void Encode(unsigned char *pucOutput, unsigned int *puiInput, unsigned int uiInputLen);static void Decode(unsigned int *puiOutput, unsigned char *pucInput, unsigned int uiInputLen);static void MD5Memcpy(unsigned char *pucDest, unsigned char *pucSrc, unsigned int uiLen);static void MD5Memset(unsigned char *pucData, int nData, unsigned int uiLen);private:typedef struct _TMd5ContextInfo{unsigned int state[4];unsigned int count[2];unsigned char buffer[64];}TMd5ContextInfo;TMd5ContextInfo m_ctx;
};

        CHP_Md5类有4个公共成员函数,包括3个实例函数和1个静态函数,下面逐一进行介绍。

        Init:初始化函数。

        Update:更新输入数据。参数pucInput为输入数据buffer,参数uiInputLen为输入数据的长度。返回值为0表示成功,其他为错误码。

        Final:完成摘要计算。参数pucOutput为计算出的摘要值,用于传出。返回值为0表示成功,其他为错误码。

        CalcDigest:计算输入数据的摘要值,是对上面三个接口的封装,方便应用层调用,此时不需要实例化CHP_Md5的对象。参数pucInput为输入数据buffer,参数uiInputLen为输入数据的长度,参数pucOutput为计算出的摘要值。返回值为0表示成功,其他为错误码。

总结

        自1996年起,MD5的安全性开始受到挑战,出现了多种攻击方法,包括:碰撞攻击和预映射攻击。这也表明,MD5不再适用于安全性要求高的场合。对于新系统和应用,目前建议使用更安全的算法,比如:SHA-256或SHA-3。由于MD5的安全缺陷,它在现代安全敏感的应用场景中逐渐被淘汰,但在一些对安全性要求较低或向后兼容的场景中,仍能看到MD5的身影。

http://www.yayakq.cn/news/307681/

相关文章:

  • 网站建设维护合同书wordpress怎么上传文件
  • 保定网站建设解决方案网站建设技术包括
  • 济南怎样做网站推广长沙人才app
  • wordpress网站很慢网络科技公司骗术
  • 佛山手机建站模板网站程序有哪些
  • 网站建设需要提供哪些信息什么网站可以看到绵阳建设
  • 网站开发技术流程龙华app网站开发
  • 没有内容的网站应该怎么做ppt模板免费下载网站哪个好
  • 深圳网站建设制作厂家网站源码本地演示
  • 商洛市住房和城乡建设局网站张家港百度网站推广
  • 可以做幻灯片的网站wordpress汉化管理界面
  • 北京网站开发教师招聘华龙网重庆新闻
  • 深圳网站建设黄浦网络-技术差做六个网站静态页多少钱
  • 苏州运营推广网站建设个人网站用主机做服务器
  • 新网站百度seo如何做什么查网站是否降权
  • 在线探测网站开发语言企业邮箱来一个
  • 网站建设开发计划模板h5页面制作工具易企秀
  • 电子商务网页设计与网站建设论文怎么做网站 白
  • 涟水县住房和城乡建设局网站外链是不是把自己的网站信息发布到别人的网站上?
  • 专业建站模板权重查询
  • 中文网站建设英文wordpress邮件
  • 网站建设案例模板下载怎么搭建一个网站教程
  • app会替代网站吗厚街镇网站建设
  • 站内优化怎么做社区网站建设方案书
  • 普洱市交通建设集团官方网站重庆做营销型网站公司
  • 做网站的分析报告案例有没有做代理商的明细网站
  • 迪庆定制网站建设费用网络销售面试问题有哪些
  • 成都市seo网站公司产品开发管理系统
  • 做企业的网站群晖wordpress慢
  • 北京品牌网站建设公司哪家好免费的网站在哪里下载