前端有对用户密码进行加密传输吗?

3,406 阅读2分钟

这是我参与更文挑战的第2天,活动详情查看: 更文挑战

前言

小伙伴们好呀~ 今天来挑战下前端 哈哈~

一直以来都有个疑问,就是在那些平台上创建用户时,前端有没有对密码进行加密,再进行传输呢?🤔

作为一个 web 开发者,干的活大部分都和 web 有关,今天却突然很好奇👉 想想自己以前在学校做的系统还有现在在企业接触到的系统,前端都没有这一方面的安全措施,都是直接提交到后台的,然后后台通过散列加密(例如我们后端的权限框架 SpringSecurity中,就提供了这么 PasswordEncoder 这么一个类来加密密码 ),最后将一串不可逆的字符串存到 DB

如果想了解下 SpringSecurity 这个框架,可以看博主之前的文章:

SpringSecurity+JWT实现前后端分离的使用

不可逆加密算法 :

MD5、SHA1、SHA256、SHA512

这些在 4ye 之前的博客中有简单涉及到,简单地了解了🐖

20201018232943

解惑

在简单了解了这些后,我觉得我也可以给自己解惑了 想着平时也抓过包,搭博客时也尝试过加解密来实现自动话部署~ (信心蹭蹭蹭的往上增加 哈哈哈哈😄)

于是我来到这个熟悉的网站(主要是因为还没注册 哈哈哈哈😄)

开源中国 20201018231549

毕竟是前端,我们还是可以拿到它的 js 代码的,

拿到代码后,用 vscode 打开,格式化文件后一顿操作,省略。。。

最后简单截个图,哈哈 终于解开了自己的疑惑了(・∀・(・∀・(・∀・*)✌

20201018230055

可以看到这里应该是用了前端的 CryptoJS 这样的加密库

百度一下确实有这么一个 js

地址如下: CryptoJS

image-20210602202433669

结论

既然疑惑已经解开了,那就再小小总结下😄

  1. 前端也是有对密码进行加密的!不管是注册还是登录用户,都会对密码进行加密然后再进行传输。(这样更安全!)
  2. 加密一般都选择不可逆算法,如 md5sha 等,这样即使在传输过程中这个包被别人抓到了,也无法根据那个字符串解析出相应的密码。
  3. 说到这个加密,可能这也是 现在忘记密码操作时,不会给你发之前密码的原因,毕竟没法解析。
  4. 所以要提高安全系数的话,最好前后端都加密,毕竟大平台都这么做了✔👈

欢迎关注,交个朋友呀!! ( •̀ ω •́ )y

我是 4ye 我们下期再见啦 ヾ( ̄▽ ̄)ByeBye

如果你觉得本篇文章还不错的话,那拜托再点点赞支持一下这个 这个老伙计好吗😝

让我们开始这一场意外的相遇吧!~

欢迎留言!谢谢支持!ヾ(≧▽≦*)o 冲冲冲!!