奇妙的安全旅行之MD算法

奇妙的安全旅行之国密算法 hi,大家好,我是开发者FTD。今天我们来介绍一下我们国家密码局制定的加密算法 — 国密算法。 为什么要制定国密算法? 密码算法是保障信息安全的核心技术,尤其是我国最关键的银行业核心领域长期以来都是沿用MD5、3DES、SHA-256、RSA等这些国际通用的密码算法体系及相关标准。 随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息系统的“安全可控” 阅读详情

hi,大家好,今天我们开始介绍消息摘要算法中的MD(Message Digest)算法,MD算法家族包括:MD2,MD4,MD5,MD算法生成的消息摘长度要都是128位的。

其中MD5算法是消息摘要算法的第五个版本,是当前最典型的消息摘要算法,它是由MD2和MD4算法改进而来的。不论是哪一种MD算法,它们都需要获得一个随机长度的信息并产生一个128位长度的信息摘要。如果将这个128位的二进制摘要信息换算成十六进制,就可以得到一个32位长的字符串,所以平时我们见到的大部分MD5算法生成的字符串都是一个32位长的十六进制的字符串。

从安全性上说:MD5 > MD4 > MD2,MD5算法安全性最高。

MD 算法家族的发展史:
MD2 算法:

1989年,著名的非对称算法RSA发明人之一麻省理工学院教授罗纳德·李维斯特教授开发了MD2算法。这个算法首先对信息进行数据补位,使信息的字节长度是16的倍数;再以一个16位的检验和做为补充信息追加到原信息的末尾;最后根据这个新产生的信息计算出一个128位的散列值,MD2算法由此诞生。

MD4 算法:

1990年,罗纳德·李维斯特教授开发出较之MD2算法有着更高安全性的MD4算法。在这个算法中,我们仍需对信息进行数据补位。不同的是,这种补位使其信息的字节长度加上448个字节后成为512的倍数(信息字节长度mod 512 = 448)。此外,关于MD4算的处理和MD2算法有很大的差别,但最终仍旧会获得一个长度为128位的散列值。MD4算法对后续消息摘要算法起到了推动作用, 许多比较有名的消息摘要算法都是在MD4算法的基础上发展而来的,例如MD5、SHA-1、RIPE-MD和HAVAL算法等。

MD5 算法:

1991年,继MD4算法后,罗纳德.李维斯特教授开发了MD5算法,最终将MD系列算法推向了成熟。MD5算法经MD2和MD4算法发展而来,算法复杂程度和安全强度也大大提高,但这些MD算法的最终结果都是产生一个128位长度的信息摘要,这也是MD系列算法的主要特点。

MD 算法的对比
算法 摘要长度(bit) 实现方
MD2 128 JDK、Bouncy Castle、Commons Codec
MD4 128 Bouncy Castle
MD5 128 JDK、Bouncy Castle、Commons Codec
  • MD2,MD4,MD5 计算的结果都是是一个128位(即16字节)的散列值,用于确保数据信息的完整一致性。
  • MD2 算法加密速度较慢但相对安全,MD4 速度很快,但安全性下降,MD5 则比 MD4 更安全、速度更快。
  • MD5 算法被广泛应用于数据完整性校验、数据(消息)摘要、数据加密等。
  • 2004年,证实MD5 算法无法防止碰撞攻击,因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。对于需要高度安全性的数据,一般建议改用其他更安全不容易破解的算法,如SHA-2。
MD 算法实现
JDK提供的 MD2 和 MD5 算法实现

Java的jdk中提供了MD2和MD5算法的实现,如果想实现MD5,可以直接使用JDk提供的方法来实现,示例代码如下所示:

// MD2加密
public static String encodeMd2(byte[] data) throws Exc
奇妙的安全旅行之HMAC算法 hi,大家好,今天我们开始介绍消息摘要算法中的HMAC(Keyed-Hashing for Message Authentication)消息认证码算法,MAC(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加上了密钥,因此MAC算法也经常被称作 HMAC 算法。 MAC 在开始之前,我们先说下MAC算法。在现代的网络中,身份认证是一个经常会用到的功能,在身份认证过程中,有很多种方式可以保证用户信息的安全,而 MAC 阅读详情

相关推荐

奇妙的安全旅行之SHA算法

hi,大家好,今天我们开始介绍消息摘要算法中的SHA(Secure Hash Algorithm)安全散列算法。由于其他曾被广泛使用的Hash算法,比如上一篇文章提到的MD5,后来都被发现存在一定的安全隐患,新的摘要算法算法就出现了。SHA 算法是由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)于1993年发布,是美国的政府标准。从2005年至今,SHA或许已经成为仅存的Hash算法的标准了。 SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384

ForTheDevelopers的博客 726

奇妙的安全旅行之加密算法概述

前言 hi,大家好呀,信息安全作为当前社会中比较重要的一个课题,已经覆盖了人们生活的方方面面,虽然有时候我们可能并没有意识到,其实信息安全防护已经在背后默默的保护我们的信息安全了。例如,当你在互联网上浏览网站时;当你准备注册或者登陆一个网站,需要输入密码时;当你在购物网站买商品进行支付时;当你到银行取钱时… 可以说信息安全是关系国家、城市信息、行业用户、百姓利益的关键问题,尤其是数据安全,身份隐私等信息的安全对于每个人都很重要。互联网最初,大家的安全意识还没有那么高,很多信息都是明文传输,甚至数据库中也是明

ForTheDevelopers的博客 582

奇妙的安全旅行之加密算法(完整版)

hi,大家好,我是开发者FTD。之前我在公众号写了一个工作中常用加密算法系列的文章终于肝完了,为了方便小伙伴们查看和收藏,我将这个系列汇集整理成了一个PDF文档,有需要的小伙伴可以关注公众号,在公众号后台回复 加密算法 就可以下载了。 优快云的小伙伴也可以直接在站内资源下载,地址为:https://download.youkuaiyun.com/download/ForTheDevelopers/15309483 加密算法属于比较冷门的知识内容,但是在我们的工作和生活中确是越来越重要的一部分了,了解这部分的知识还是非

ForTheDevelopers的博客 451

Python遗传算法求解N皇后问题工程实践

遗传算法(GA)是一种模拟自然选择的全局优化方法,其核心在于编码表示、适应度评估与种群演化机制。在组合优化场景中,N皇后问题作为经典NP难问题,天然适合作为GA原理验证与工程落地的试金石。本文聚焦于将理论GA转化为可运行、可调试、可扩展的Python工程实现,重点解析一维排列编码如何兼顾空间效率与操作安全性,1/(q+0.001)型适应度函数如何提升选择压力并加速收敛,以及精英变异策略为何比标准交叉更适配强约束排列问题。内容覆盖从环境搭建、参数调优到学习曲线诊断的完整实操链路,适用于算法入门者理解GA动态行

weixin_30709061的博客 398

MD加密算法:数据安全的保障?

这意味着在某些情况下,攻击者可能能够找到两个不同的输入数据,它们产生相同的哈希值,或者找到与给定哈希值相匹配的输入数据。因此,在需要高度安全性的场景下,建议使用更强大的哈希函数,如SHA-256。MD加密算法是一种常用的哈希函数,用于将数据转化为固定长度的哈希值。然而,由于其安全性方面的限制,建议在需要高度安全性的场景下使用更强大的哈希函数。在实际应用中,需要综合考虑数据的安全性需求以及加密算法的特点,选择适合的加密方案。MD加密算法是一种常用的哈希函数,用于将数据转化为固定长度的哈希值。

QoTypescript的博客 220

【滚雪球学数学建模】第11节·优化进阶

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1244

大模型LLM部署方式

建议根据实际需求选择方案,企业级服务优先考虑vLLM或TGI,个人用户可尝试Ollama或Hugging Face本地加载。若需完整代码示例,可参考网页2的VLLM实战或网页5的TGI部署案例。:高并发、低延迟的API服务,需分布式推理支持。:快速创建可分享的Web应用。:个人开发、快速原型验证。

u010249118的博客 516

ARM Cortex-M系列授权解析:从研发到量产的免费与付费之路

本文深入解析了ARM Cortex-M系列内核从研发到量产过程中的授权模式。研发阶段可利用ARM DesignStart等免费资源进行原型验证,但产品商业化量产则需支付授权费与版税。文章对比了采购商用MCU与自研芯片的成本差异,并探讨了RISC-V作为免费替代方案在IoT领域的应用前景与挑战,为开发者提供了清晰的选型指南。

weixin_29292431的博客 495

实测昇腾310P跑Qwen3有多慢?手把手带你部署vLLM并记录性能数据

本文实测了昇腾310P在vLLM框架下部署Qwen3模型的性能表现,详细记录了2.5 tokens/s的生成速度及其技术瓶颈。通过环境搭建、基准测试和深度分析,揭示了计算资源利用率不足等关键问题,并提供了实用的优化技巧与监控方案,帮助开发者更好地理解和优化昇腾平台上的大模型部署。

weixin_28724319的博客 895

[RK3588从入门到精通] 专栏目录及介绍

[RK3588从入门到精通] 专栏目录及介绍

nb124667390的博客 6500

WRF气象建模实战:如何为JRA55非标准数据定制Vtable文件?

本文详细介绍了为WRF气象模型定制Vtable文件以支持JRA55非标准数据(特别是积雪数据)的完整实战流程。文章深入解析了WPS数据流中Vtable的核心映射逻辑,提供了从GRIB文件诊断、Vtable编写到METGRID.TBL调优的通用方法论,帮助用户解决非标准气象数据源适配的关键技术挑战。

c8d9e0f1的博客 673

树莓派4B+DroneKit实战:手把手教你用Python控制无人机飞行(附避坑指南)

本文提供了一份详尽的树莓派4B与DroneKit配置实战指南,涵盖从硬件选型、软件环境搭建到Python编程控制无人机的完整流程。文章重点解决了ARM架构下的兼容性问题、MAVLink通信配置及端口管理等常见难题,并附带了实用的避坑指南和代码示例,帮助开发者构建稳定可靠的无人机控制系统。

weixin_29056781的博客 410

Windows 10/11 注册表 ProfileImagePath 误改修复:3步恢复用户登录与数据安全

本文详细介绍了Windows 10/11系统中因误改注册表ProfileImagePath键值导致用户无法登录的修复方法。通过3个关键步骤,包括定位SID、安全修复注册表项及验证处理,帮助用户恢复登录并保障数据安全。特别强调了操作顺序的重要性以避免数据丢失,适用于各类Windows用户账户登录错误的紧急处理。

chuoshao2508的博客 403

PyTorch深度学习实战(39)——少样本学习(Few-shot Learning)

小样本学习 (Few-shot Learning) 旨在解决在训练集中只有很少样本的情况下进行分类和推理的问题。在小样本学习中,我们希望通过利用已有的少量样本和先验知识来进行泛化,以便在面对新的、未见过的类别时能够做出准确的预测。这就要求模型能够从有限的训练样本中提取出有用的信息,并能够将这些信息应用到新类别的样本中去。在本节中,将介绍孪生、原型和关系网络的原理,并使用 PyTorch 实现孪生网络。

盼小辉丶的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 奇妙的安全旅行之加密算法概述
下一篇: 奇妙的安全旅行之SHA算法
我是开发者FTD
博客等级 码龄6年 13粉丝 25原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值