当前位置: 首页 > 知识库问答 >
问题:

javascript - 现在前端登录还需要用md5加密账号密码吗?

谷梁建中
2024-08-19

现在都是用https通信,前端项目登录的时候还需要用md5加密账号密码?

共有3个答案

曾云
2024-08-19

我个人是觉得在有 HTTPS 的情况下,这个没必要。实际上,即使是一些国际大厂的,也是这样的。


但是,目前因为国内法律法规的原因,一些安全公司在做合规的时候,如果抓包发现你的密码是明文传输的(即使已经使用了 HTTPS),他们依然会认为你这个不合规,需要你整改,当然,这种情况,你也可以直接把整个表单加密了发过去,里面照样是原文。

所以,我建议你结合实际来,因为除了这个原因,还有可能就是,虽然 HTTPS 保证了你传输过程的安全性,但是在业务中,有时候就不一定了,虽然现在密码都是存的 hash 后的值,就怕万一你把用户密码(表单请求)打印到了日志里面,对吧。

当然,对于你自己的系统而言,你要不要用户的密码你都可以登录上用户的账号,并不关心用户的原始密码,后端只关心你传的那个字符串在经过 Hash 后,能不能与数据库中的对应的上。但是,那对于用户而言,你截留了原始密码,就有可能被人拿去撞库的风险了。

所以,要不要在前端进行加密,只是你结合业务的一个选择。

沈淇
2024-08-19

从来都不需要。因为 md5 并没有很好的办法来逆向,所以你传递了 md5 之后的密码给后端,后端也只能原样保存。相当于如果有个中间人攻击,ta 一样能拿到原始密码。

能正青
2024-08-19

不需要在前端使用MD5加密账号密码。

解释:

  1. 安全性问题:在前端加密密码(如使用MD5)实际上并不增加安全性,因为加密过程(包括密钥,如果有的话)对客户端是可见的。这意味着任何攻击者都可以获取到加密逻辑并尝试破解加密后的密码。
  2. HTTPS的重要性:使用HTTPS已经为客户端和服务器之间的通信提供了加密层,这确保了传输过程中的数据(包括密码)是加密的,从而防止了中间人攻击。但这并不意味着你可以在前端安全地处理敏感信息,如直接存储或加密密码。
  3. 最佳实践

    • 密码哈希:密码应该在服务器端进行哈希处理,并且应该使用安全的哈希算法(如bcrypt, Argon2等),这些算法提供了足够的“工作因子”来抵抗暴力破解。
    • 加盐(Salting):在哈希之前为密码添加一个唯一的随机字符串(盐),可以确保即使两个用户使用了相同的密码,它们的哈希值也会不同。
    • HTTPS:确保所有涉及敏感信息的通信都通过HTTPS进行。
  4. 前端角色:前端应该只负责收集用户输入的密码,并通过HTTPS安全地发送到服务器。前端不需要(也不应该)尝试对密码进行任何形式的加密或哈希处理。

因此,在前端登录过程中,不需要使用MD5或其他任何客户端加密方法来处理密码。

 类似资料:
  • 账号加密 设置账号加密类型 0:不加密(缺省)1:RSA 2:DES 3:AES Ntalker.getInstance().setEncryption(int encryptionType);

  • 帐号密码        帐号密码用于保护帐号信息和登录安全,点击修改按钮可以对密码进行修改。 原密码修改 输入当前密码,输入2次您想修改的新密码(符合密码规则)点击确定,修改成功

  • 本文向大家介绍微信小程序 MD5加密登录密码详解及实例代码,包括了微信小程序 MD5加密登录密码详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 微信小程序 MD5加密      在小程序中,页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件。zepto/jquery 也无法使用,因为zepto/jquery

  • 该md5加密方法,需要手动import库函数,调用md5方法即可使用,可以对字符串加密为32位的字符串结果,如需进一步了解, 详见MD5百度百科 使用方法: import md5Libs from "uview-ui/libs/function/md5"; export default{ onLoad() { console.log(md5Libs.md5('uView')) // 结果

  • 没有用第三方类库,实现md5常规加密、md5二次加密、sha1、sha256、sha384、sha512加密。 作者说:新手可以参照代码学习ios的加密实现。使用详解:http://developerpan.blog.51cto.com/blog/7454463/1254875 [Code4App.com]

  • 本文向大家介绍.NET MD5加密解密代码解析,包括了.NET MD5加密解密代码解析的使用技巧和注意事项,需要的朋友参考一下 MD5简介:   是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但

  • 问题内容: 我正在使用ExtJS框架。我在 JavaScript中 有MD5函数来加密某些JSON。我的后端使用Java,所以我想知道如何使用 Java 解密MD5 Javascript加密? 这是我正在使用的MD5函数的JS等效项: 问题答案: MD5是 哈希 (即单向转换),因此您无法对其进行解密。您可以将已知哈希与从明文计算出的哈希进行比较,以验证输入的有效性。Java已经为此内置了库。我在

  • 本文向大家介绍ASP.NET中DES加密与解密MD5加密帮助类的实现代码,包括了ASP.NET中DES加密与解密MD5加密帮助类的实现代码的使用技巧和注意事项,需要的朋友参考一下     调用:               以上所述是小编给大家介绍的ASP.NET中DES加密与解密MD5加密帮助类,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程