javascript - 前端 md5 加密用户名密码的流程

查看:259
本文介绍了javascript - 前端 md5 加密用户名密码的流程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

如题,在百度谷歌前端md5加密感觉都是比较简单的引入一个md5.js然后调用一下方法,但是加密的原理和流程不太清楚

解决方案

我感觉是题主误解了加密的原因,不管什么摘要加密算法,算法都是是固定的,不存在说谁家独一份,因为没意义,JS加密只能放在前端是明文的。

后台拿到加密后的密码,是反解不出来的,因为是摘要加密,而不是对称加密。服务端在用户注册的时候就保存了一份加密后的密码,两相对比,就知道是否是正确的。这样即使DB被泄露,至少还有保证没有泄露真实密码,一般为了添加安全性,会额外在密文的基础上加盐再做一次加密,这是题外话。

加密的目的是为了防止网络劫持。(并不能防止木马攻击。)
在提交之前做好加密,在网络中传输的就是密文,这样即使有人劫获账户密码,但是并不能拿到真实的密码。

你可能会疑惑,反正拿到了加密后的密码,它只要模拟个POST请求就可以了伪装用户了。
首先,如果你的网络被劫持,你做什么事都不存在安全一说,所以不要胡乱链接免费WIFI
其次,加密的原因是不让你的账户密码被泄露,因为劫持者可以拿着你的用户密码去碰撞其他资源,绝大多数人都是同一套账户密码。当然即使只能拿到加密后的密码,也可以采用HASH碰撞来逆推密码,不过这个成本就高了,而且不同的网站会有不同的加密算法,逆推不一定有意义。

这篇关于javascript - 前端 md5 加密用户名密码的流程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆