MD5与AES浅谈

MD5和AES在项目中的使用方式与区别 一.MD5的简介MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。 阅读详情

一、MD5简介

MD5全称为信息-摘要算法(哈希算法),是计算机安全领域的散列函数,用于确保消息的完整性。另外摘要算法还有SHA1。

MD5是一种单向加密算法,它的加密不可逆,它将任意长度的字符串,经过计算后生成固定长度的数据,一般为16位。

二、MD5的用途

1、消息完整性

每份数据生成的MD5码不同,所以可以把MD5码和数据一块发送,在对端使用MD5加密,再与接收的MD5码进行对比,保证数据的正确性。

2、安全访问认证

用于传递用户账户信息和密码到MySQL数据库,客户端发送到服务器的只是一段128位的摘要,服务器拿到后直接将其存入数据库,下次登录只需与服务器的密文进行对比即可,这样就保护了用户的信息,即便是后台人员也无法获取用户的账户密码。

三、其它加密算法

1、非对称加密

非对称加密是双方各自产生自己的秘钥,然后将自己的加密秘钥传递给对方,在使用时先给数据使用对方的加密秘钥加密,再发送给对方,各自使用自己的解密秘钥来解密数据。

2、对称加密

双方使用约定的加密算法和解密秘钥,然后进行数据传输。

对称加密解密速度慢,安全性高;非对称加密速度快,安全性不高。

所以经常使用非对称加密床底对称加密的秘钥,然后使用对称加密来加密传递的数据。

四、AES加密

AES加密是一种对称加密算法。

AES加密有三种长度,分别是128位、192位、256位。

AES加密是一种分组加密,它将明文划分一组一组的,每组明文长度相等,一次加密一组明文,直到全部加密,分组长度为128位(16字节),明文长度不足的进行填充。AES加密是字节加密,使用时要转成字节码。明文分组用字节单位的正方形矩阵表示,一般称为状态矩阵。

128位会进行10轮加密,一轮加密步骤:字节代换、行位移、列混合、轮秘钥加。在最后一轮不进行列混合;解密反过来,分为轮密钥加,逆列混合、逆行位移、逆字节代换,第一步不进行逆列混合。

字节代换:AES加密定义了一个S盒和一个逆S盒。将状态矩阵中的元素查表进行替换。

行移位:将行位移进行左循环位移,即状态矩阵的第N行左移N个字节。

列混合变换:同过将行移位矩阵与固有矩阵相乘得到的混合矩阵。

轮密钥加:将128位轮密钥Ki同状态矩阵中的数据进行逐位异或操作,如下图所示,密钥Ki中每个字W[4i],W[4i+1],W[4i+2],W[4i+3]为32位比特字,包含4个字节,他们的生成算法下面在下面介绍。轮密钥加过程可以看成是字逐位异或的结果,也可以看成字节级别或者位级别的操作。也就是说,可以看成S0 S1 S2 S3 组成的32位字与W[4i]的异或运算。 

 更多AES的精彩内容可以查看:AES加密算法的详细介绍与实现

 

原创不易,转载自:https://blog.youkuaiyun.com/heng_c/article/details/79779904

MD5和AES在项目中的使用方式和区别 AES:而AES算法是一种分组加密算法,把明文分成一组一组的形式,保证每组的长度相等,每组加密一组数据,直到加密完整个明文。在AES标准中,分组长度只能为128位,16个字节,并且是按照字节进行加密的。从图中我们能看出通过AES算法我们将密码转为字符串方便存储在配置文件中从而进行加密,对加密后的数据进行base64编码,然后在重新设置密码的时候对其进行解密。我们在使用MD5主要在于项目的注册登录页面,要输入密码,当我们将密码存入数据库的时候就可以利用MD5算法加密后存入,用于保证数据的安全性。 阅读详情

相关推荐

小程序,h5,移动端处理md5加密接口,请求数据加密方式AES-128-ECB

md5 加密参数 请求数据 前端通用方法

wfan7758521的博客 1824

AES(对称加密)学习记录

之前学到的RSA加密是非对称加密,而AES则是对称加密,区分点在于AES加密解密过程中用的密钥是相同的。这里记明文为P,密文为C,密钥为K。支持的密钥K的长度有128位,192位,256位。加密:C = E(P,K),E为加密函数解密:P = D(C,K),D为解密函数AES加密过程使用的是分组加密,即把明文P分成n组,对n组明文分别使用密钥K加密得到n组密文,将n组密文组合就得到了最终的密文C。且对每一组明文有长度要求,即128bit位(16个字节,每个字节8位)。可以知道,加密得到的每一组密文的长度也是

Luiino的博客 4028

AES,SHA1,DES,RSA,MD5区别

AES:更快,兼容设备,安全级别高; SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私

hengshujiyi的专栏 5万+

MD5是对称加密还是非对称加密?

很多人使用的密码是常见的组合,攻击者将这些密码的常见组合进行单向哈希,得到一个摘要组合,然后与数据库中的摘要进行比对即可获得对应的密码。对称加密优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,具有算法公开、计算量小、加密速度快、加密效率高的特点。在数据传送前,发送方和接收方必须商定好秘钥,并且双方都要保存好密钥,如果一方的密钥被泄露,那么加密信息也就不安全了,安全性得不到保证。非对称加密优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。MD5是对称加密还是非对称加密?

m0_73874527的博客 2119

DES、AES、RSA、MD5加密算法辨析与应用场景

信息安全Cryptographic Techniques对称加密算法Data Encryption Standard(DES) DES 是一种典型的块加密方法:将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位。同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。 DES 的密钥表面上是64位的,实际有效密钥长度为56位,其余8位可以

hshhuan knows nothing 1万+

qt MD5 和AES 加密

qt MD5 和AES 加密

chen1231985111的博客 3113

DES/AES/MD5加密方法

大家好:       今天有空研究了下大家都在喊的AES加密!还以为是什么深奥的东西呢!终于了解了,心中释然了!跟大家一起分享下吧!DES其实就是:数据加密标准 英文的缩写!就是个加密的标注而已,AES就是 高级加密标准 英文的缩写咯,大家都叫缩写叫惯了,搞得我们这些没接触的人一头雾水!心里还真憋屈的慌呢! 这是在搜集资料的时候拿了个例子练手,不过有个问题就是,把这代码放到文本里用

yingmengxuepingbao的专栏 1414

MD5+AES加密/解密demo

import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.StringUtils; import sun.misc.BASE64Decoder; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.cr...

capricio的博客 1587

AES+MD5初探研究--python

开局一张图:后面的详细过程,还是推荐看遍课程演示,文字不好解释,略过。

书山有路勤为径,学海无涯苦作舟 2286

保姆级教程:用掘金量化API手把手复现一个年化17%的网格交易策略(附完整Python代码)

本文提供了一份详细的掘金量化API教程,手把手教你构建一个年化17%的网格交易策略。通过完整的Python代码实现,深入解析网格交易的核心逻辑、参数配置和动态调仓机制,帮助量化新手快速掌握策略开发全流程。教程包含环境配置、代码实现、回测分析和常见问题解答,是学习量化投资的实用指南。

weixin_33709364的博客 298

【机器学习】实验2,基于回归分析的大学综合得分预测(完整代码实现+分析)

大学排名是一个非常重要同时也极富挑战性与争议性的问题,一所大学的综合实力涉及科研、师资、学生等方方面面。目前全球有上百家评估机构会评估大学的综合得分进行排序,而这些机构的打分也往往并不一致。在这些评分机构中,世界大学排名中心(Center for World University Rankings,缩写CWUR)以评估教育质量、校友就业、研究成果和引用,而非依赖于调查和大学所提交的数据著称,是非常有影响力的一个。

高丽大学人工智能硕士在读|专注大模型、RAG、OCR与AI工程实践 1973

MD5、AES、RSA实现签名、验签

为了保证数据被拦截替换时能被感知,应当对数据进行签名。具体的,可通过先对数据排序从而保证数据的唯一性,例如使用sortedMap实现排序,并将排序后的数据序列化为字符串(例如:使用连接key和value,使用连接不同的键值对),接着使用摘要算法获得字符串数据的摘要(即签名),最后将数据和摘要一并发送给接收方,接收方通过同样的操作获得数据的摘要并与接收到的摘要进行对比以判断数据是否被拦截替换。编写MD5摘要工具类/*** 使用MD5获取字符串摘要*/try {// 进行md5编码。

qq_40688054的博客 3592

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java 小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩都是中等。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。 输入格式: 第一行给出这个和N(图中例子的和N为2000)。 输出格式: 第一行输出所有解的数目K,随后K行按照DCBA 4位数字从...

qryzhfj的博客 2187

数据加密——MD5、SHA、AES、RSA

数据加密分为单向加密、对称加密和非对称加密。单向加密常用算法有MD5和SHA系列,对称加密常用算法有DES、3DES、AES,非对称加密常见算法有RSA、ECC这里的数据可以是用户名、密码、文本、图片、PDF,小到几百b,达到几十G。一般而言,如果不是搞信息安全的,了解这些加密方式的优缺点和适用场景即可,不用去看其实现原理。(更详细的直接看参考链接)

enternalstar的博客 3861

从理论到实践:基于Zemax的高分辨率生物显微镜光学系统仿真与优化指南

本文详细介绍了基于Zemax的高分辨率生物显微镜光学系统仿真与优化全流程。从阿贝分辨率公式、柯勒照明等理论基础出发,逐步讲解Zemax建模、像差优化、制造可行性分析等核心步骤,并提供常见问题解决方案。通过实际案例展示如何将理论设计转化为可制造的优化方案,帮助工程师掌握从仿真到实际应用的关键技术。

weixin_29229989的博客 481

ADS基础教程24 - Gerber文件的导入

一、引言二、基本概念1.仿真文件下载2.仿真文件介绍二、导入步骤1.新建workspace2.选择Layout结构3.导入设计4.选择文件类型5.导入文件6.预览文件内容7.铜皮离散问题四、总结选择。通过本文章结束,可以了解ADS中如何将导入Gerber文件,并且对导入的铜皮进行合并。下一步就针对导入的文件进行层叠设置和编辑。END!}}END!

XZ_ZC的博客 3051

MD5、AES和RSA算法这三者之间的区别

也就是说,MD5的运算过程存在信息丢失。过程:在后端使用非对称算法RSA生成一对公私钥,公钥固定存储在客户端代码中,私钥存储在后端代码中,登录时对输入的密码使用公钥加密传输,后端收到加密的秘钥后,使用私钥进行解密,然后查询该账号对应的密码,进行对比。过程:创建账号时,将账号对应密码的MD5存储数据库,登录时,对用户输入的密码进行MD5加密传送到服务器端,根据账号从数据库查询出该账号对应的MD5值进行对比,判断是否相同。安全保证:得不到私钥,公钥加密后的密码的密码是无法破解的,保证了密码的绝对安全。

weixin_69856049的博客 1718

机器学习实战1-四种算法对比对客户信用卡还款情况进行预测与模型评估

大家好,我是微学AI,今天给大家带来一个机器学习实战案例:利用机器学习的四种算法对比对客户信用卡还款情况进行分类。信用卡又叫贷记卡,是由商业银行或信用卡公司对信用合格的消费者发行的信用证明。现在的年轻人,特别是80后,90后甚至00后到喜欢超前消费,每个人名下多多少少都有至少一张信用卡,有些人由于过度超前消费,导致下个月无法还款导致的逾期,这样会对个人征信产生影响,今天我们就来分析分析具有哪些特性的人会有信用卡逾期的可能。

微学AI的博客 4710

Crypto- AES、MD5加密解密

crypto模块的目的是为了提供通用的加密和哈希算法,包含对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装。由于项目需求,我们这里讲crypto AES与MD5算法加密 首先我们需要引入Crypto,介绍俩种引入方式 script便签直接引入 <script src="https://cdn.bootcss.com/crypto-js/4.0.0/cryp...

duyan_s的博客 2357

lammps案例:堆垛层错能的计算

大家好,我是小马老师。 本文介绍如何使用lammps计算晶体的堆垛层错能。 正常晶体中的原子按照一定的规律排列,原子面按ABCABC……的顺序排列,如下图所示: 当某个原子面被抽出后会形成堆垛层错,如图中的蓝色原子层被抽出,原子面排列变为ABCBCA……: 可通过计算堆垛层错能形成前后的能量差计算堆垛层错能,计算公式为: E0为初始能量 Ef为删除一个原子面后的能量 A为界面面积 下面分享一个lammps计算堆垛层错能的in代码,本代码由Richard Glaze完成,本文稍作修改并进行了注释,以供初

lammps_jiayou的博客 5435

〔重庆理工大学〕计算机组成原理课设报告--16位单周期CPU设计

本课程设计的实验平台为Altera Quartus II 软件和Altera Cyclone V Starter 工具箱。(1)Cyclone V是Altera FPGAs家族的一类,它面向低功耗应用。Cyclone V GX 5CGXFC5C6F27C7N 芯片有不同的转换器,按钮,LED灯,七段显示器,HDMI接口,SD卡读卡器以及其他链接等。Cyclone V GX 5CGXFC5C6F27C7N是Starter工具箱的重要组件。(2)测试台包含在测设备(DUT)和用于仿真的模拟输入。

Pretty Boy Fox的博客 1066

单片机固件MD5校验、AES加密、gzip压缩方案(QT)

QT文件压缩、校验、加密

APP_xinyonghu_li的博客 2631

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java实现MD5,SHA256,AES

java实现MD5,SHA256,AES

ViktorChen的博客 3556

老版QQ原生表情gif动态

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

md5和AES有什么区别,各自有什么优势特点

md5和AES经常应用于信息安全领域,这两者虽然都是常用的算法,但是它们之间却有着很大的区别。简单来说,md5不是加密算法,AES是对称加密算法。那么,md5和AES具体有哪些区别,各自又有什么优势特点?

ITduo的博客 3135

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 【Linux 6】通过Shell编程实现定时备份数据库
下一篇: 彻底理解coookie、session、token
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2935原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值