如果騰訊的資料庫被盜了,2個多億的帳號密碼洩露,用什麼方法能使損失降到最小?

時間 2021-06-12 04:48:14

1樓:小豪

兩個億的號,太多了,拿不走,值錢的一大堆,誰會在乎你的號。別多想了,人家根本看不上你的號。

要拿也拿8個8的。7個7的,賣的乙個好價錢,你的真心看不上

2樓:「已登出」

洩露的禁止登陸,要求手機驗證並修改密碼才可以繼續使用,當然可信裝置也是可以的,就是要改。

雜湊碰撞結果還是有限的,不過123456之類的還是很多的

3樓:「已登出」

你如果看過了新版的知乎使用者協議,你就不會問這個問題,協議裡說我為了監管,認證以及為使用者提供各種便利性收集了使用者的資訊,我會好好的保護你的資訊,但如果洩露了,我會通知你,恩,用各種方式通知你,沒了

4樓:Caesar

現在看來知道密碼作用不是太大,因為換個地方登入,不管是簡訊驗證掃碼驗證臉驗證都很難繞過,但是如果能洩露其他資訊,通過密碼找回作用更大一些

5樓:阿懵不懵

作為乙個負責任的大廠,你設定的密碼是不可能被儲存下來的,如果這樣豈不是維護過這些資料的程式設計師可以隨便登入所有使用者的賬號,程式設計師一批一批的來,又一批一批的走,這多可怕。。。

實際是你設定的密碼,是採用一些加密演算法,被密文傳輸,最後以密文儲存的,登入校驗的時候是用密文校驗,至於這個密文背後是從什麼轉化過來的,誰也不知道。所以,從你鍵入密碼時開始,除了你自己,誰也不知道你設定的什麼。

當然了,對於一些小黑站,可能就不用密碼,或者後台就是明文儲存的。還有一些不負責任的小廠,比如西艾斯迪恩,不知道是工程師水平太低還是故意偷懶,用複雜度低的可逆加密演算法(也就是用密文能反推出明文),被脫褲公之於眾也就很easy了

6樓:

設計時就該做

偷偷的「儲存」密碼(hash的也可以)離線,再一次hash(加個引數),放入資料庫,驗證兩次hash的密碼,如果被拖庫,用第一次的重新hash。使用者登入完全透明。

7樓:

說不可能洩漏回答對於本回答其實有點抬槓的味道,題主本來就是想問洩漏後的解決方案。

解決方案我不懂,大概就是發布公告道歉並提醒更換所有同密碼賬戶的密碼,短期內金融操作增加提醒以及手機驗證碼。

8樓:yuna

密碼並不是明文存在資料庫裡,而是通過雜湊演算法加密後存了乙個看不懂的數字字元(或者亂碼)而已。這個演算法不可逆(即不能從結果推出原文),且數學上找不到兩個不同的原文經過相同雜湊演算法計算後得到完全一致的結果(當然可以鑽一下抽屜原理的牛角尖:任意2的128次方加1個不同的原文之間必有2個通過md5計算後結果一致括弧笑

比較簡單一點的,建議題主可以研究一下WPA-PSK加密(就是平時你手機連無線wifi的時候雙方的四次握手過程),估計對雜湊加密會有個初步印象。

真以為無線wifi堅挺14年沒被破解是吹出來的

9樓:懶羊羊哥哥

1.一般密碼儲存的時候都進行了hash(salt+password),或者hash(hash(password)+salt),然後資料庫儲存得到的字串,,,

,驗證的時候了,將使用者提交的密碼用hash(salt+password)先計算乙個字串,然後和資料庫進行比對就行。

2.一般會將使用者驗證表和使用者資訊表分表,如果的確只是洩露了密碼表,對於使用者來說,沒什麼影響。

10樓:

然後密碼儲存規範對於乙個有專業素養的開發來說,不可逆+密文這兩點必須保證的:

比如 hash_string = hash(password),你再怎麼隨意,至少把使用者密碼md5一下吧,當然我是不建議md5的,相信以後慢慢淘汰掉。

什麼是Hash,Hash演算法是一種單向的函式。它可以把任意數量的資料轉換成固定長度的「指紋」,這個過程是不可逆的。

MD5屬於一種hash演算法,例如,md5(hello) = 5D41402ABC4B2A76B9719D911017C592

這裡的hello就是使用者的密碼,經過hash後,它變成了5D41402ABC4B2A76B9719D911017C592,這麼一大串的東西它就算乙個密文,這個時候你把它存到資料庫裡,屬於乙個剛及格的開發。

假設資料庫儲存是:

使用者名稱 | 密碼

tencent|5D41402ABC4B2A76B9719D911017C592

這個tencent就是使用者名稱,5D41402ABC4B2A76B9719D911017C592就是tencent這個使用者的密碼,如果資料庫洩露了,別人看見這麼一大串不知道是什麼鬼,因為它並不是密碼原文,。

伺服器的邏輯是把使用者輸入的密碼hash再對比,如果你輸入這個,那麼對比串就變成:

md5(5D41402ABC4B2A76B9719D911017C592) = F872A18EB88181EB00816510E762FEE6

,那肯定不一樣,你登陸不了的。

這個時候就杜絕了大部分的情況了,你可能是個初級工程師了。

當然,有些逼賊聰明,他們收集了歷史洩露或其他渠道拿到的密碼,還有對一部分密碼,把這些密碼全部收集再一起,對他們hash後,然後存在一張表,如果它在表裡面找到了有,5D41402ABC4B2A76B9719D911017C592這個東西,那麼它就能反推出這個密碼原文。所以這個東西告訴我們,不要把所有的應用軟體都用同乙個密碼,也不要設定太簡單的密碼,以及定期跟換密碼。

那作為開發者有沒有優化的地方,我們當然可以給它加點鹽:

hash(hello+salt) 這樣子,例如 md5(hello12345) = EEB9BAD681184779AA6570E402D6EF6C

這樣子是不是增加了難度,因為避免了hello作為一些簡單密碼或歷史洩露密碼,一定程度上防範了彩虹表攻擊,當然了這個salt不要用12345這麼簡單的東西,你可以加一串比較長度的隨機數,反正對使用者也是無感知的。一定要不用太短的salt,並且每個使用者的salt都要不一樣,更換一次沒見生成新的salt

這樣子已經可以做到相對安全了,你可能是個中級工程師了。但還能不能再優化呢?

我們在這上面再加一層key去干擾黑客暴力攻擊,增加他們破解的時間,需要大量的計算資源用來處理,大量消耗cpu資源的hash函式。比如用bcrypt,去調節運算時間,比如你可能需要1秒只能計算出乙個密碼,這樣子就消耗大量時間,也許到地球毀滅的時候你才能計算出我的密碼。

這樣子已經可以做到絕大部分應用的密碼安全了,你可能是個中上級別工程師了。

再談談題主的問題:

要說的防範措施太多了,2億級別的使用者已經是相當嚴重了:

異地檢測+手機驗證+密保確認+問題驗證+親密聯絡人驗證等等等,說都說不完。

11樓:菜菜狼

1.佩服樓主的想象力。

2.建議樓主將想象力控制在自己熟悉的領域。

3.使用者輸入的密碼並沒有儲存到資料庫中,是先由程式進行摘要加密演算法生成32或64位的字串,在將此字串儲存到資料庫中,由於是摘要加密,不能解密成原密碼,顧,沒有洩露可能。

12樓:不知道叫啥

對於這個答主的回答,因為我其實並沒有學過相關知識,但我想問

為什麼不能利用軟體反破譯密碼,擷取使用者密碼資料哈文,然後擷取軟體加密部分,輸入哈文,來反譯數字密碼

13樓:

我看到問題裡問的是「資料庫」被盜,並不是密碼被盜,而下面一大批的回答都是密碼被盜的解決方案。

既然資料庫都被盜了,不管密碼是否明文,都沒用了,檢視你的資料根本用不到密碼,盜庫者就可以像資料庫管理員一樣看到所有資料。

14樓:

1。盜取密碼的可能性為0

2。要擔心的不是密碼問題,而是你的其它資訊會被洩露,比如手機號,住址,愛好。

通過分析資料可以弄得很好的商業策略或者廣告投放或者政治用途。這種影響是很大很大的。

15樓:ken lan

當使用者下次登陸的時候要求手機驗證直接強行使用者改密碼就好了 ,沒綁手機就郵箱驗證,沒郵箱驗證就密保驗證,總之就是要登陸就得驗證改密碼。我都不知道糾結原始演算法來幹嘛,最重要是解決方案不是嗎?

而且你密碼大批量的洩露,你如果不是什麼很重要的使用者,你的帳號又不會馬上出現問題。很重要的使用者,估計就發郵件給你提醒你改密碼這樣咯。

抖個機靈而已,求各位大神別打我。

16樓:ijrys

不要試圖去解開資料庫裡的密碼

因為你計算機算力不夠

有著功夫挖點礦掙的比這個多

並且我相信tx會發布公告,當你把加密規則整出來了,密碼改的都差不多了對於使用者來說,反正我不改密碼,我相信tx的實力

17樓:

使用者資訊可能被盜,但是密碼也不是是不可能被盜的但是盜取密碼都是通過其他方式進行的,但是從資料庫盜取密碼是不可能的因為:沒有哪個傻缺會把密碼原文儲存資料庫儲存的都是密文

而且通過加密的密文那基本上都是用不可逆的方式加密你拿到那串密文也是不可能知道原文是啥的

18樓:新宣傳世文

TX:我憑本事從每位客戶身上蒐集到的資料為什麼要給你?

TX:這是我千辛萬苦哦,從好多使用者手中收集到的資料……**:一部分就行!

TX:憑良心講我幾十年如一日的勾搭使用者上傳他們的個人資料也很不容易的啊……

**:複製的就可以

TX:早說啊,$才行

**:………………

19樓:光之夜

假如真的被脫褲了,脫褲的人弄乙個去中心化的社交軟體,能用企鵝賬號直接登入,估計瞬間使用者就會暴漲吧,這才是對企鵝最大的傷害……

20樓:

不過很奇怪的是用了txt儲存 ....大小接近2個g估計有上億條 ......

內容全部是賬號 +密碼

我回去找一下 , 等一下放截圖

txt ,word都打不開

最後用了360瀏覽器開啟的......

我只是陳述了乙個我看到的事實 ,都還有人嘲諷我我也是醉了 , 我看到的資料他就是txt , 沒人無聊到瞎編兩億條資料吧 ?

我乙個ctrl f 四個小時都沒搜完 ,算了算了頭疼 , 也沒辦法分類索引 ,

溜了就當他是假的吧

21樓:「已登出」

天真,除非那些非常非常非常簡單的密碼可能被破解,一般公司都是用加鹽儲存的密碼,除了使用者自己誰都不知道密碼,就算盜取了資料庫拿到的只是一大串看不懂的玩意。

22樓:請叫我阿空

一般密碼都是經過加密的,md5啥的,不可逆,所以所謂的密碼洩漏沒什麼影響的。

(%_%的md5),那請問你怎麼輸入一段密碼轉md5會變成這個,網上所謂的md5解密只是類似查字典而已。

23樓:刀孑

庫盜了,和密碼的關係很大嗎,以後逆轉密碼那麼簡單嗎,我覺得重要的是使用者資訊吧而不是密碼,我上次寫使用者註冊的時候,我的加密方式是password+鹽然後轉成雜湊值然後獲取前4位然後在MD5加密,你覺得如果你不知道解密方式,你能輕鬆的給逆轉密碼嗎,這也就是很多軟體都是只有重置密碼沒有找回密碼這一說,密碼根本就找不回!

關係型資料庫,資料庫表設計,兩個表的連線關係是多對多,連線表的設計除了傳統的設計方案外還有其他設計方案麼?或者說有幾種可能的設計方案。

王璐 你所說的符合正規化的設計肯定是設計的第一步,之後的設計要看業務具體怎麼用這些資料。馬上就能想到的幾點是 未完成的訂單備受關注 已完成的訂單不會有修改。要解決題目中的查詢壓力,簡單的方案是 把未完成單 三月內單 歷史訂單分開儲存。當然對於前端的處理和快取也能有效減少查詢和查詢壓力。 LS的已經回...

怎麼實現乙個簡單的資料庫系統?

劉浩浩 這種類似的東西,最重要的是一定要看過已經有的開源實現的原始碼,從頭到尾搞懂別人的思路。我自己寫過基於UDP的可靠協議,用go寫的,開始寫之前看了各種他人的原始碼和一些已有的實現,感覺受益匪淺,後面寫起來感覺前期的調研是很重要的。因此建議,先看懂乙個完整的實現,不需要mysql這樣的大東西,看...

如何修改乙個已存在的資料庫名稱?

愛可生 被取消的命令MySQL 之前提供了乙個 rename database db old to db new 的命令來直接對資料庫改名,可能由於實現的功能不完備 比如,這條命令可能是乙個超大的事務,或者是由於之前的表很多還是 MyISAM 等 後來的版本直接取消了這條命令。更改資料庫名大致上有以...