面试问题:MD5属于哪种加密算法?千万别踩这些坑

news2025/2/27 17:22:02

一些小伙伴吐槽,去面试的时候经常听到面试官问这样的问题,“对称加密”、“非对称加密”、“MD5加密”,那么MD5到底属于哪种加密算法?遇到这样的问题,一定要小心,这是面试官给你挖的坑呢,可别傻傻地往坑里面跳。

注意了!MD5加密纯属口嗨,MD5是摘要算法,不是加密算法!切记。

为了让大家能够清楚地知道加密算法和摘要算法的定义和场景,给大家放一个图,是不是一目了然了?

加密算法的目的在于使别人无法成功查看加密的数据,并且在需要的时候还可以对数据进行解密来重新查看数据。

MD5算法是一种哈希算法,这一算法是不可逆的。也就是说,通过哈希算法得到的数据,无法经过任何算法还原回去。 所以既然不能将数据还原,也就不能称之为解密;既然不能解密,那么哈希的过程自然也就不能称作是加密了。

摘要算法

摘要算法,又称哈希算法、散列算法。通过一个函数,将任意长度的内容转换为一个固定长度的数据串。

摘要算法之所以能指出数据是否被篡改,就是因为摘要函数是一个单向函数,计算很容易,但通过摘要(digest) 反推data却非常困难,而且,对于原始数据做一个bit的修改,都会导致计算出的摘要完全不同。

md5能否解密?

不能。既然MD5不是加密算法,那么就不存在什么MD5解密了。(下面告诉你其实对这种特殊情况是可以的)

这时候,会有人说,为什么网上有很多网站声称能MD5解密?比如说这个:md5.cn

真相只有一个:因为这个网站记录了常用的一些明文和它对应的密文,比如普通的123456、abc123、iloveyou等,这些早就记录在案了,所以当我们输入需要解密的密文,就能匹配到存在数据库里面的解密结果。

加密算法

加密: 是以某种特殊的算法改变原有的信息,使得未授权的用户即使获得已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。

解密:加密的逆过程为解密,即将该加密信息转化为其原来信息的过程。

 

​加密算法分为对称加密和非对称加密,其中对称加密算法的加解密密钥相同,非对称加解密的密钥不同。

总结

加密算法的目的是: 防止信息被偷看

摘要算法的目的是: 防止信息被篡改

在面试的时候,一定要小心,不要掉进面试官给你挖好的坑。MD5是摘要算法,不是加密算法,而且MD5是不可逆的。而且,我们可以用彩虹表将密文还原出来,所以它不是安全的。想要解决这个问题,我们需要通过加盐的手段,每次生成一个不同的密码,就把这个问题解决了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++——pair用法总结

C——pair用法总结1.pair概述&#xff08;在标头 <utility> 定义&#xff09;2.pair使用2.1成员函数&#xff08;构造函数、赋值函数&#xff09;2.2非成员函数2.3辅助类使用1.pair概述&#xff08;在标头 定义&#xff09; std::pair 是类模板&#xff0c;提供在一个单…

Kotlin MVVM之Jetpack系列ViewModel、LiveData的简单使用

一、MVVM是什么&#xff1f; MVVM分为Model&#xff0c;View&#xff0c;ViewModel 三个部分 Model:数据层&#xff0c;包含数据实体和对数据实体的操作 View:UI层&#xff0c;对应于Activity&#xff0c;XML&#xff0c;负责数据显示以及用户交互。 ViewModel&#xff1a;…

22-Redux-1

//npm init //npm install redux //1 导入redux&#xff08;不能通过es6的方式&#xff09; // commonjs一种 -> node.jsconst redux require(redux)const initialState {counter: 0 } // reducer function reducer(state initialState, action) {switch(action.type) {c…

5 步!用阿里云 Serverless 搭建高质量的图片压缩工具

作者&#xff1a;Regan Yue 本文选自“Serverless 函数计算征集令”活动 什么是 Serverless Serverless 是一种基于云计算的开发方法&#xff0c;它让开发人员可以专注于编写代码来解决业务问题&#xff0c;而不是处理服务器问题。它是独一无二的&#xff0c;因为它支持 Auto …

Rust中级教程:指针生态(引用、原始指针、智能指针)and内存操作(Stack、Heap)

指针的一些概览知识点 1.内存地址&#xff1a;指代内存中单个字节的一个整数。 指针&#xff08;原始指针&#xff09;&#xff1a;就是指向某种类型的一个内存地址。 引用&#xff1a;就是指针&#xff0c;是rust提供的一种抽象&#xff0c;如果是动态大小&#xff0c;就是一…

标记肽MGP-7-氨基-4-甲基香豆素、1926163-53-2、Met-Gly-Pro-AMC

蛋氨酸氨基肽酶1D和2的荧光底物。编号: 152397 中文名称: 标记肽MGP-7-氨基-4-甲基香豆素 英文名: H-Met-Gly-Pro-AMC CAS号: 1926163-53-2 单字母: H2N-MGP-AMC 三字母: H2N-Met-Gly-Pro-AMC 氨基酸个数: 3 分子式: C22H28N4O5S1 平均分子量: 460.55 精确分子量: 460.18 等电点…

【SVN】SVN服务端地址变动,idea切换SVN地址

公司切换了SVN服务端的制度&#xff0c;需要本地对应切换SVN地址&#xff0c;以下为具体步骤 错误方式 直接 项目上右键 --> Subversion --> Relocate &#xff0c;修改 To URL 的值&#xff0c;会报错 https://XXXXX is not the root of the repository 的错误 正确的…

Communication-Efficient Learning of Deep Networks from Decentralized Data

international conference on artificial intelligence and statistics Summary 当前机器学习模型训练中存在着数据隐私保护问题&#xff0c;所以作者提出了FL概念。通过分布式隐私保护进行训练模型。对不平衡、non-IID的数据也更合适。 主要提出了FedSGD和FedAvg算法。FedAv…

Andriod开发R文件爆红相关解决方法及排查方案

1.首先尝试下基本的处理方法&#xff1a; 在IDE中工具栏处选择build 尝试clean project&#xff0c;然后再进行rebuild project或者是make project 若使用的是IDEA或Android studio&#xff0c;在上述方法尝试后可以尝试工具栏中File->Setting->Invalidate Caches/Rest…

微信小程序(基础语法)

文章目录基本组件视图容器viewscroll-viewswiper和swiper-item基础内容组件textrich-text其他常用组件buttonimagenavigator基本模板数据绑定插值表达式事件绑定常用事件在事件处理函数中为data的数据赋值事件传参bindinput的使用小程序中的v-model条件渲染wx:ifhidden列表渲染…

一些关于通信拓扑、图论的内容笔记

链接&#xff1a;https://zhuanlan.zhihu.com/p/373368383 目前主要是这一个系列&#xff0c;记下来怕我过后忘了。 别处看到的&#xff08;大概率3B1B&#xff09;----走桥的问题----d偶数 多智能体一致性问题&#xff08;分蛋糕&#xff09; 入度 出度 &#xff1a;信息流…

007_补充_ Pytorch 反向传播和Neural ODE的反向传播

一、Pytorch反向传播 首先是第一个小例子&#xff0c;训练模型拟合 y true_w * x true_b&#xff0c;模型的参数为 param_w, param_b import torchtrue_w torch.Tensor([[2.0, 3.0], [4.0, 5.0]]) # 初始化真实的参数 true_b torch.Tensor([[1.0, 2.0], [3.0, 4.0]]) #…

linux安装jdk17

登录linux 我使用的是Alibaba Cloud Linux 3.2104 LTS 64位操作系统&#xff0c;登录后结果如下&#xff1a; Welcome to Alibaba Cloud Elastic Compute Service !Updates Information Summary: available7 Security notice(s)5 Important Security notice(s)2 Moderate Sec…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园二手商品交易系统p11v7

毕业设计说实话没有想象当中的那么难&#xff0c;导师也不会说刻意就让你毕设不通过&#xff0c;不让你毕业啥的&#xff0c;你只要不是太过于离谱的&#xff0c;都能通过的。首先你得要对你在大学期间所学到的哪方面比较熟悉&#xff0c;语言比如JAVA、PHP等这些&#xff0c;数…

laravel对于数据量特别大的导出excel的提速方案

背景&#xff1a;一些业务场景需要导出excel的需求&#xff0c;但是面对日益增长的数据&#xff0c;要导出的数据会越来越大。生成表格的时间也会越来越慢。针对这个问题&#xff0c;目前的业务通过两个角度去提速。 1&#xff1a;异步导出 如果数据量达到一定的体量&#xf…

【毕业设计】大数据大众点评评论文本分析 - python 数据挖掘

文章目录0 前言1 爬虫1.1 整体思路1.2 网页爬取和解析1.3 数据存储1.4 反爬虫对抗2 探索性分析与文本数据预处理2.1 探索性分析2.2 数据预处理2.3 词云展示3 文本的情感分析3.1 先上结果3.2 文本特征提取&#xff08;TF-IDF&#xff09;3.3 机器学习建模3.4 最后输出的准确率4 …

java ssh校园拼餐系统

首先在系统前台&#xff0c;游客用户可以经过账号注册&#xff0c;管理员审核通过后&#xff0c;用账号密码登录系统前台&#xff0c;查看拼餐服务、网站公告、文明拼餐员、会员风彩、系统简介、咨询信息、拼餐信息等栏目信息&#xff0c;进行在线咨询和管理员交流&#xff0c;…

LTSPICE使用教程:二极管钳位电路仿真

在我们查看芯片内部的设计电路时&#xff0c;通常会发现以下的电路结构&#xff1a; 当定义pin脚输入电压Vpin&#xff0c; 1.Vpin>VDD,二极管D1导通&#xff0c;D2截止&#xff0c;此时无论怎样继续加大VPIN的输入电压时&#xff0c; 进入到管脚内部的电压会被钳制在Vint…

【RocketMQ中生产者生产消息的高可用机制、消费者消费消息的高可用机制、消息的重试机制、死信队列于死信消息】

一.知识回顾 【0.RocketMQ专栏的内容在这里哟&#xff0c;帮你整理好了&#xff0c;更多内容持续更新中】 【1.Docker安装部署RocketMQ消息中间件详细教程】 【2.RocketMQ生产者发送消息的三种方式:发送同步消息、异步消息、单向消息&案例实战&详细学习流程】 【3.Rock…

野火FPGA入门(5)

文章目录第17讲&#xff1a;触摸按键控制LED灯第18讲&#xff1a;流水灯第19讲&#xff1a;呼吸灯第20讲&#xff1a;状态机第21讲&#xff1a;无源蜂鸣器驱动实验第17讲&#xff1a;触摸按键控制LED灯 触摸按键可分为四大类&#xff1a;电阻式、电容式、红外感应式、表面声波…