面试官:为什么忘记密码要重置,而不是告诉我原密码?

news2025/1/18 9:05:01

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~

Hello,大家好,我是 Sunday。

最近有个同学在面试中遇到了一个很有意思的问题,我相信大多数的同学可能都没有遇到过。

面试官提问说:“为什么很多网站忘记密码需要重置,而不是直接告诉用户原密码?

很有意思的问题对不对。很多网站中都有“忘记密码”的功能,但是为什么当我们点击忘记密码,经过一堆验证之后,网站会让我们重置密码,而不是直接告诉我们原密码呢?

所以,今天咱们就来说一说这个问题。

防止信息泄露

2022年11月1日,Termly 更新了《98个最大的数据泄露、黑客和曝光事件》(98 Biggest Data Breaches, Hacks, and Exposures)。其中包括很多知名网站,比如:Twitter

所以,你保存在网站中的数据可能并没有那么安全。那么这样的数据泄露后会对用户产生什么影响呢?

对大多数人来说最相关的经历(网上看到的)应该是诈骗电话,他们甚至可以很清楚的告诉你你的所有个人信息。那么这些信息是怎么来的呢?

有些同学可能说是因为“网站贩卖了我的个人信息”,其实不是的。相信我 大多数的网站不会做这样的事情

出现这样事情的原因,大部分都是由于数据泄露,导致你所有的个人信息都被别人知道了。

那么,同理。既然他们可以获取到你的私人信息,那么你的账户和密码信息是不是也有可能被盗取?

而对于大多数的同学来说,为了防止密码太多忘记,所以很多时候 大家都会使用统一的密码! 也就是说你的多个账号可能都是同一个密码。所以,一旦密码泄露,那么可能会影响到你的多个账号,甚至是银行卡账号。

因此,对于网站(特别是一些大网站)来说,保护用户数据安全就是至关重要的一件事情。那么他们一般会怎么做呢?

通常的处理方式就是 加密。并且这种加密可能会在多个不同的阶段进行多次。比如常见的:SHA256、加盐、md5、RSA 等等

这样看起来好像是很安全的,但是还有一个问题,开发人员知道如何解密他们。或者有些同学会认为 数据库中依然存在着正确的密码 呀?一旦出现信息泄露,不是依然会有密码泄露的问题吗?

是的,所以为了解决这个问题,网站本身也不知道你的密码是什么。

没有人知道你的原密码,包括网站本身

对于网站(或者其他应用)来说,它们是 不应该 存储你的原密码的。而是通过一些系列的操作来保存你加密之后的代码。并且这个加密是在前端传输到服务端时就已经进行了,并且是 不可逆 的加密操作,例如:MD5 + 加盐

我们举一个简单的例子:

比如有个用户的密码是 123456,通过 md5 加密之后是:E10ADC3949BA59ABBE56E057F20F883E

md5 理论上是不可逆的,所以从理论上来说这个加密后的代码是不可解析的。但是 md5 有个比较严重的问题就是:同样的字符串加密之后会得到同样的结果

这也就意味着:E10ADC3949BA59ABBE56E057F20F883E 代表的永远都会是 123456

所以,如果有一个很大的 md5 密码库,那么理论上就可以解析出所有的 md5 加密后的字符串。就像下图一样:

因此,在原有的 md5 加密之上,很多网站又增加了 加盐 的操作。所谓加盐指的就是:在原密码的基础上增加一些字符串,然后进行 md5 加密

比如:

  1. 原密码为 123456
  2. 在这个密码基础上增加固定字符“LGD_Sunday!”
  3. 得到的结果就是:“LGD_Sunday!123456”
  4. 然后用该字符进行 md5 加密,结果是:E1FC8CB7B54BED0FDC8711530236BA4D
  5. 此时尝试解密,会发现 解密失败

这样大家是否就可以理解,为什么很多网站在让我们输入密码的时候 ,要求包含 大小写+符号+ 字母 + 数字 了吧。本质上就是为了防止被轻松解密。

而服务端拿到的就是 “E1FC8CB7B54BED0FDC8711530236BA4D” 这样的一个加密后的结果。然后服务端再次对密码进行加密操作,从而得到的是一个 被多次加密 的数据,保存到服务端。

所以说:网站无法告知你密码,因为它也不知道原密码是什么。

目前很多网站或应用为了保证用户安全,都已经采取 扫码登录、验证码登录 等方式进行登录验证,这种无密码的方式,会更大程度的保证你的账号安全。

关于找工作的方式

我目前在做一个 前端训练营 ,主打的就是:1v1 私教,帮大家拿到满意的 offer 。

可以点击这里查看详情~

也可以直接加我微信沟通:

图片

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

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

相关文章

SON序列化解决方案

JSON(JavaScript Object Notation)是一种用于数据交换的轻量级数据格式。在我们日常Python编程中,通常可以使用内置的json模块来进行JSON序列化和反序列化。那么关于使用json模块进行JSON序列化和反序列化的问题解决方案,可以参考…

0基础如何进入IT行业

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 对于没有任何相关背景知识的人来说,如何才能成…

【放假第1天】采购季倒计时 2G 50/年,4G 618/3年 云服务器选购攻略 阿里云 腾讯云 京东云对比 搭建网站、数据分析

更新日期:4月4日(阿里云价格回调,京东云采购季持续进行) 本文纯原创,侵权必究 【云服务器推荐】价格对比!阿里云 京东云 腾讯云 选购指南视频截图 《最新对比表》已更新在文章头部—腾讯云文档&#xff…

腾讯云4核8g服务器性能如何?知道说说

腾讯云4核8G服务器价格:轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线?支持30个并发数,可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

SWM341系列应用(上位机应用)

SWM341系列之上位机应用 1、分级图像和PNG、JPG的应用 现象:客户使用SWM34SVET6HMI_0.4.1版本上位机进行UI界面布局,反馈在模拟运行时(PC端)流畅,在Demo平台(设备端)运行卡顿。 分析及解决&…

Object类与内部类

废话不多说,直接进入正题。 目录 一、Object类 1.介绍Object类 2.toString方法 3.equals方法 4.hashCode方法 二、内部类 1.静态内部类 2.实例内部类 3.匿名内部类 4.局部内部类 一、Object类 1.介绍Object类 (1)Object类就是所有…

算法学习——LeetCode力扣补充篇6(132. 分割回文串 II、673. 最长递增子序列的个数、841. 钥匙和房间、463. 岛屿的周长)

算法学习——LeetCode力扣补充篇6 132. 分割回文串 II 132. 分割回文串 II - 力扣(LeetCode) 描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。 返回符合要求的 最少分割次数 。 示例 示例 1&#…

一文了解低功耗蓝牙BLE

低功耗蓝牙技术可以构建两种类型的设备:双模设备和单模设备。双模设备既支持经典蓝牙又支持低功耗蓝牙。单模设备只支持低功耗蓝牙。还有仅支持经典蓝牙的设备。 在链路层,设备被分为广播者、扫描者、从设备和主设备。广播者是传输数据包的设备,扫描者是接收广播者的数据包…

ids工业相机与电控位移台同步控制及数据采集

通过VS2017和OpenCV,实现ids工业相机与电控位移台同步控制及数据采集 目录项目环境配置代码流程及思路项目架构项目开发运行效果开发关键ids相机配置位移台环境配置相机头文件相机参数设置保存图像函数设置电控位移台头文件电控位移台设置参数最后就是通过main函数进行调用和控…

美易官方:华尔街分析师最青睐的股票过去五年表现怎么样

华尔街分析师一直被视为金融市场的风向标,他们的推荐和预测往往能影响投资者的决策。然而,分析师的预测并不总是准确无误的,特别是在变幻莫测的股市中。那么,我们不禁要问,华尔街分析师最青睐的股票在过去五年中的表现…

OpenHarmony实战:小型系统移植概述

驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等 图1 OpenHarmony 驱动分类 HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框…

单总线及DS18B20

目录 单总线 单总线介绍 单总线的电路规范 单总线时序结构 初始化 代码理解 发送一位 代码理解 接收一位 代码理解 发送一个字节 代码理解 接收一个字节 代码理解 DS18B20 DS18B20介绍 引脚及应用电路 内部结构 存储器结构 DS18B20操作流程 ROM指令 功能…

大厂面试之【Redis持久化机制】 - RDB和AOF概述及应用配置

文章目录 Redis持久化1. RDB(Redis DataBase)1.1 概述1.2 配置应用 2. AOF(Append Only File)2.1 概述2.2 配置应用 Redis持久化 先上结论:Redis持久化操作分为rdb以及aof,但是前者已经够用 1. RDB(Redis DataBase) 1.1 概述 rdb保存的是dump.rdb文件在指…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现校园资料分享平台演示 摘要 随着信息互联网购物的飞速发展,国内放开了自媒体的政策,一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求,创…

C++ 11是如何封装Thread库的?

引言 C11 标准引入了一个重要的特性,即原生线程支持,这标志着C语言在并发编程领域迈出了坚实的步伐。在此之前,开发人员在进行跨平台的多线程编程时,不得不依赖于操作系统提供的特定API,如Windows API或POSIX Threads…

开发环境->生产环境

1、数据迁移 不涉及docker # 以数据库用户导出数据 mysqldump -h 192.168.1.168 -P 3307 -u abragent -pabragebb17 abragent > abragent.sql# 以root用户导出数据 mysqldump -h 192.168.1.168 -P 3307 -u root -p8d3Ba1b abragent > abragent.sql 涉及docker …

Android12 简单的共享内存驱动实现 参考Ashmem

Android12 共享内存驱动实现 SOC:RK3568 system:Android12 概述: 1. 概述 Ashmem(Anonymous Shared Memory,Android 匿名共享内存),它基于 mmap 系统调用,可以让不同进程将同一段…

数据恢复工具哪个成功率高?十大数据恢复软件榜单

数据恢复软件可以恢复损坏或删除的数据。使用数据恢复软件恢复存储在安全位置的剩余信息。您可能会因意外删除文件、文件系统逻辑损坏甚至存储故障等各种原因而丢失数据。执行查看、复制、扫描、识别或提取存储设备中已删除扇区的数据等操作。恢复虚拟存储在任何设备&#xff0…

【算法练习】27:冒泡排序学习笔记

一、冒泡排序的算法思想 原理:以升序为例,冒泡排序通过从左往右连续比较相邻元素,当发现左边比右边大就交换元素。从左往右依次比较完称为“一轮”,每轮结束之后就会固定一个元素。 时间复杂度:2层循环,所以…

windows安装Openssl

openssl官网:[ Downloads ] - /source/index.html Windows 安装方法 OpenSSL 官网没有提供 Windows 版本的安装包,可以选择其他开源平台提供的工具 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 等待下载完成 捐不起 配置环境变量 ope…