Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MD5和密码的对比?

MD5和密码的对比?
EN

Stack Overflow用户
提问于 2011-12-26 22:26:01
回答 3查看 300关注 0票数 0

我正在为一个站点构建一个受密码保护的登录系统,并且我遇到了两个MySQL函数来加密用户的密码:MD5()ENCODE()

他们两个人似乎都加密了,但我想用哪个更安全。这里是否有明确的赢家,还是仅仅是一种偏好情况?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-26 22:37:26

以下是对每个人所做工作的简要说明:

  • 编码:编码(不加密)字符串,也可以解码。任何能够运行解码的人都可以访问密码。
  • MD5:加密字符串,不应该解密。确定密码是否正确的方法是比较这两个加密字符串。但是,不应该使用算法存在严重缺陷
  • SHA2 (string,512):加密字符串,不应该解密。确定密码是否正确的方法是比较这两个加密字符串。这个算法远比MD5强得多。

当涉及到使用散列(单向加密)时,用盐腌你的哈希是一个很好的实践。这样可以防止潜在攻击者使用已知哈希数据库快速发现密码。

简而言之,编码是完全不安全的,MD5是不安全的,而使用salt的SHA2(string,512)也是一个不错的选择。

票数 2
EN

Stack Overflow用户

发布于 2011-12-26 22:27:19

使用bcrypt。不要使用md5()encode()

票数 3
EN

Stack Overflow用户

发布于 2011-12-26 22:37:23

像MD5、SHA1这样的算法并不是加密,而是将任意长度的源文本哈希为固定长度的输出字符串。不要用它们来保护用户的密码。

让我告诉你一个好办法。问一个秘密的问题。这个秘密问题的答案将是我们密码加密算法的密钥。现在,您可以使用MD5或其他什么工具来散列这个答案。现在,使用此哈希作为秘密密钥加密密码(使用对称密钥算法,如AES)。这将在某种程度上有所帮助,这样如果用户忘记了他的密码,那么只有该用户,而不是其他人将能够恢复密码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8641796

复制
相关文章
java后台怎么解密md5,Java md5 密码加解密
public static String encrypt(String content,String key){
全栈程序员站长
2022/09/14
6K0
简单登录&密码md5加密登录&盐值+md5加密登录
我们这里直接获取了前端表单中的password,而且更重要的是在数据库中密码也没有进行加密,这样一来数据就会不安全,因为一旦数据库被攻破,那随之而来的就是用户的损失。这样的损失将会是惨痛的。
Tom2Code
2022/04/15
2.1K0
简单登录&密码md5加密登录&盐值+md5加密登录
sql server用户密码批量MD5加密
nodejs自带加密模块md5加密: var crypto = require('crypto'); function cryptoMD5(content){ var md5 = crypto.createHash('md5'); md5.update(content); return md5.digest('hex'); } exports.cryptoMD5 = cryptoMD5; 批量给sql server数据库中的密码字段MD5加密: update tableName
用户1141560
2017/12/26
1.2K0
为什么要在MD5加密的密码中加“盐”
盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。
bear_fish
2018/09/19
6.8K0
[android] 手机卫士保存密码时进行md5加密
一般的手机没有root权限,进不去data/data目录,当手机刷机了后,拥有root权限,就可以进入data/data目录,查看我们保存的密码文件,因此我们需要对存入的密码进行MD5加密
唯一Chat
2019/09/10
6520
[android] 手机卫士保存密码时进行md5加密
获取文件MD5值对比文件完整性
通过获取文件的 MD5/SHA1/SHA256 等校验值对比文件的完整性、一致性,可以用来判断文件是否重复、内容是否被修改过等,比较常用的哈希算法有 MD5 与 SHA1
大大大黑白格子
2020/06/10
6.8K0
Python3之数据指纹MD5校验与对比
MD5校验码通过散列函数计算而成,可以生成任何数据的数据“指纹”,即我们可以利用MD5将消息或者数据压缩成摘要,是的数据量变小,便于比较验证数据的完整和正确性。因为两个不同的文件几乎不可能拥有相同的MD5哈希值,任何对一个文件的非恶意变更都会导致其MD5哈希值改变。所以MD5哈希常用语检查文件完整性,尤其是检测文件传输、磁盘错误或其他情况文件的正确性。
一墨编程学习
2019/06/15
1.2K0
Python 和 Ruby 的对比
最近在考虑学习一门后端语言,在ruby和python直接犹豫,然后自己做了一些对比,希望能帮到有同样问题的你。
用户7886150
2020/11/20
1.4K0
进程和线程的对比
虚拟内存是操作系统为每个进程提供的一种抽象,每个进程都有属于自己的、私有的、地址连续的虚拟内存,当然我们知道最终进程的数据及代码必然要放到物理内存上,那么必须有某种机制能记住虚拟地址空间中的某个数据被放到了哪个物理内存地址上,这就是所谓的地址空间映射,也就是虚拟内存地址与物理内存地址的映射关系,那么操作系统是如何记住这种映射关系的呢,答案是
名字是乱打的
2021/12/24
8670
进程和线程的对比
递归和迭代的对比
程序调用自身的编程技巧称为递归(recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归的主要思考方式在于:把大事化小 递归主要是将长问题变成子问题解决,例如: 求n的阶乘
全栈程序员站长
2022/08/18
8530
递归和迭代的对比
MyISAM和InnoDB的对比
Mysql 数据库中,最常用的两种引擎是 innordb 和 myisam。InnoDB 是 Mysql 的默 认存储引擎。
desperate633
2018/08/23
7310
react 和 vue的对比
一、相同点 支持组件化 数据驱动视图 使用vdom操作DOM 二、不同点 1. 书写方式不同 react 使用jsx拥抱js vue 使用模板拥抱html 2. 编程思想不同 react 函数式编程 vue 声明式编程 3. event事件不同 1. react: event 是SyntheticEvent(合成事件), 模拟出来DOM事件所有能力 event.nativeEvent 是原生事件对象 所有的事件都被挂载到document上 2. vue: event 为原生事件 事件挂载到当前元素上 4.
愤怒的小鸟
2020/12/02
6240
PostgreSQL用户密码如何通过md5加密存储,是否加了salt
一、PG用户的密码如何通过md5加密,并且是否加了salt?本文将从源码角度跟踪分析。
yzsDBA
2022/03/29
1.7K0
Redis 密码设置和查看密码
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
周小董
2019/08/14
10.2K0
java redis密码_Redis 密码设置和查看密码[通俗易懂]
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
全栈程序员站长
2022/10/04
4.7K0
python和shell的ping对比
有可能小批量任务看不出明显差别,但是大批量执行,python多线程脚本是shell脚本使用的一半时间
py3study
2020/01/07
7880
鸿蒙和安卓的对比
文章目录 鸿蒙和安卓的对比 1. 系统内核方面的对比 2. 运行速度的对比 3. 作为手机操作系统的对比 4. 连接其他设备的对比 鸿蒙和安卓的对比 1. 系统内核方面的对比 安卓系统是基于linux的宏内核设计 ,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。 好处就是系统开发难度低。鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具
兮动人
2021/07/21
1.2K0
鸿蒙和安卓的对比
Kafka 和 Kinesis 之间的对比和选择
在对比 Kafka 和 Kinesis 和之前,我们需要对 Kinesis 有所了解。
HoneyMoose
2021/08/07
1.9K0
Kafka 和 Kinesis 之间的对比和选择
Python的md5和sha1加密
MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。128位长度。目前MD5是一种不可逆算法。 具有很高的安全性。它对应任何字符串都可以加密成一段唯一的固定长度的代码。 SHA1 SHA1的全称是Secure Hash Algorithm(安全哈希算法) 。SHA1基于MD5,加密后的数据长度更长, 它对长度小于264的输入,产生长度为160bit的散列值。比MD5多32位。 因此,比MD5更加安全,但SHA1的运算速度就比M
奶糖味的代言
2018/04/11
1.7K0
点击加载更多

相似问题

MD5加密和密码比较

114

Python和密码学: md5

23

用MD5和MySQL验证密码

35

邮戳: MD5密码/普通密码

45

md5密码检索

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文