偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

面試官:為什么忘記密碼要重置,而不是告訴我原密碼?

安全 應用安全
目前很多網(wǎng)站或應用為了保證用戶安全,都已經(jīng)采取 掃碼登錄、驗證碼登錄 等方式進行登錄驗證,這種無密碼的方式,會更大程度的保證你的賬號安全。

最近有個同學在面試中遇到了一個很有意思的問題,我相信大多數(shù)的同學可能都沒有遇到過。

面試官提問說:“為什么很多網(wǎng)站忘記密碼需要重置,而不是直接告訴用戶原密碼?

很有意思的問題對不對。很多網(wǎng)站中都有“忘記密碼”的功能,但是為什么當我們點擊忘記密碼,經(jīng)過一堆驗證之后,網(wǎng)站會讓我們重置密碼,而不是直接告訴我們原密碼呢?

所以,今天咱們就來說一說這個問題。

防止信息泄露

2022年11月1日,Termly 更新了《98個最大的數(shù)據(jù)泄露、黑客和曝光事件》(98 Biggest Data Breaches, Hacks, and Exposures)。其中包括很多知名網(wǎng)站,比如:Twitter

所以,你保存在網(wǎng)站中的數(shù)據(jù)可能并沒有那么安全。那么這樣的數(shù)據(jù)泄露后會對用戶產(chǎn)生什么影響呢?

對大多數(shù)人來說最相關的經(jīng)歷(網(wǎng)上看到的)應該是詐騙電話,他們甚至可以很清楚的告訴你你的所有個人信息。那么這些信息是怎么來的呢?

有些同學可能說是因為“網(wǎng)站販賣了我的個人信息”,其實不是的。相信我 大多數(shù)的網(wǎng)站不會做這樣的事情

出現(xiàn)這樣事情的原因,大部分都是由于數(shù)據(jù)泄露,導致你所有的個人信息都被別人知道了。

那么,同理。既然他們可以獲取到你的私人信息,那么你的賬戶和密碼信息是不是也有可能被盜?。?/span>

而對于大多數(shù)的同學來說,為了防止密碼太多忘記,所以很多時候 大家都會使用統(tǒng)一的密碼! 也就是說你的多個賬號可能都是同一個密碼。所以,一旦密碼泄露,那么可能會影響到你的多個賬號,甚至是銀行卡賬號。

因此,對于網(wǎng)站(特別是一些大網(wǎng)站)來說,保護用戶數(shù)據(jù)安全就是至關重要的一件事情。那么他們一般會怎么做呢?

通常的處理方式就是 加密。并且這種加密可能會在多個不同的階段進行多次。比如常見的:SHA256、加鹽、md5、RSA 等等

這樣看起來好像是很安全的,但是還有一個問題,開發(fā)人員知道如何解密他們?;蛘哂行┩瑢W會認為 數(shù)據(jù)庫中依然存在著正確的密碼 呀?一旦出現(xiàn)信息泄露,不是依然會有密碼泄露的問題嗎?

是的,所以為了解決這個問題,網(wǎng)站本身也不知道你的密碼是什么。

網(wǎng)站也不知道你的密碼是什么

對于網(wǎng)站(或者其他應用)來說,它們是 不應該 存儲你的原密碼的。而是通過一些系列的操作來保存你加密之后的代碼。并且這個加密是在前端傳輸?shù)椒斩藭r就已經(jīng)進行了,并且是 不可逆 的加密操作,例如:MD5 + 加鹽。

我們舉一個簡單的例子:

比如有個用戶的密碼是 123456,通過 md5 加密之后是:E10ADC3949BA59ABBE56E057F20F883E

md5 理論上是不可逆的,所以從理論上來說這個加密后的代碼是不可解析的。但是 md5 有個比較嚴重的問題就是:同樣的字符串加密之后會得到同樣的結果。

這也就意味著:E10ADC3949BA59ABBE56E057F20F883E 代表的永遠都會是 123456

所以,如果有一個很大的 md5 密碼庫,那么理論上就可以解析出所有的 md5 加密后的字符串。就像下圖一樣:

圖片圖片

因此,在原有的 md5 加密之上,很多網(wǎng)站又增加了 加鹽 的操作。所謂加鹽指的就是:在原密碼的基礎上增加一些字符串,然后進行 md5 加密

比如:

  1. 原密碼為 123456
  2. 在這個密碼基礎上增加固定字符“LGD_Sunday!”
  3. 得到的結果就是:“LGD_Sunday!123456”
  4. 然后用該字符進行 md5 加密,結果是:E1FC8CB7B54BED0FDC8711530236BA4D
  5. 此時嘗試解密,會發(fā)現(xiàn) 解密失敗

圖片圖片

這樣大家是否就可以理解,為什么很多網(wǎng)站在讓我們輸入密碼的時候 ,要求包含 大小寫+符號+ 字母 + 數(shù)字 了吧。本質(zhì)上就是為了防止被輕松解密。

而服務端拿到的就是 “E1FC8CB7B54BED0FDC8711530236BA4D” 這樣的一個加密后的結果。然后服務端再次對密碼進行加密操作,從而得到的是一個 被多次加密 的數(shù)據(jù),保存到服務端。

所以說:網(wǎng)站無法告知你密碼,因為它也不知道原密碼是什么。

目前很多網(wǎng)站或應用為了保證用戶安全,都已經(jīng)采取 掃碼登錄、驗證碼登錄 等方式進行登錄驗證,這種無密碼的方式,會更大程度的保證你的賬號安全。

責任編輯:武曉燕 來源: 程序員Sunday
相關推薦

2024-04-15 10:16:38

2024-06-24 08:39:45

2024-07-29 00:00:00

原密碼技術安全

2024-11-29 13:18:27

2024-09-03 09:20:45

2022-12-27 08:39:54

MySQL主鍵索引

2013-11-11 11:10:03

WE大會馬化騰

2025-10-09 01:11:00

2019-04-19 11:56:48

框架AI開發(fā)

2022-07-06 13:48:24

RedisSentinel機制

2012-10-10 16:52:21

CentOSDebianUbuntu

2024-04-09 09:08:09

Kafka消息架構

2023-12-06 09:10:28

JWT微服務

2020-10-24 15:50:54

Java值傳遞代碼

2021-02-19 10:02:57

HTTPSJava安全

2022-11-04 08:47:52

底層算法數(shù)據(jù)

2025-09-24 17:05:02

2021-01-21 07:53:29

面試官Promis打印e

2021-06-21 10:04:12

微軟密碼Arsenault

2020-11-20 16:13:01

Android手機上網(wǎng)
點贊
收藏

51CTO技術棧公眾號