QQ可以在不輸入密碼的情況下檢測以前設置的密碼的強度,這是否說明QQ是明文保存密碼的?

如果我的密碼已經加密,怎麼可能知道我的密碼是不是純數字呢?

唯一的可能性是我每次修改密碼,都會把我修改時檢測出的密碼強度單獨保存下來,但這個檢測強度應該是一個新功能吧,如果我上一次修改密碼是在出這個功能之前改的,怎麼可能知道密碼強度呢?QQ年齡這麼大,肯定有很多老用戶萬年不改密碼的呀。這個一鍵檢測,簡直細思恐極。


以前研究過QQ的web登陸,單從自己的角度來看

QQ密碼的加密,是單向加密

這是QQ在網頁登陸時候的,調用的JS加密

可以看到,他將你的明文密碼,用md5加密一次,然後再用hexchar2bin這個方法再加密一次

把之前的加密結果,再和QQ號載入一起MD5一次。

繼續把第二次的加密,加上驗證碼大些,進行MD5加密一次。

以上過程,共用了3次MD5加密和一次hexchar2bin方法加密MD5本身是不可逆的,3次,就更加不可逆了,這僅僅是我的個人見解,至於在註冊,或者修改密碼的時候,是否明文提交,等下試試看


沒有用過這個功能,題主可以補充下檢測結果嗎?

以下純屬猜測,

1. 如果檢測結果有具體數字量化的強度值, 基本可以確定存儲的是明文密碼。 因為md5,sha1之類的hash存儲的密碼是不可逆的,自然是檢測不了具體的密碼強度值的。

2. 如果只可以檢測出是否弱密碼,這個是可以辦到的。 服務端只要有個弱密碼資料庫, 每個弱密碼有計算好的對應hash值,然後直接查詢你的密碼hash在不在這個資料庫里, 如果能查詢到就屬於弱密碼。其實這個就是彩虹表(Rainbow Tables)攻擊的原理,只不過這裡用來檢測弱密碼而已。


第一種可能性:

在你設置密碼的時候,服務端就保存了你的密碼強度。

等到你測試的時候,根據保存好的內容提示。

第二種可能性:

用了非對稱的加密。一個公鑰一個私鑰。而私鑰在騰訊手裡。

難道你們都忘了什麼是非對稱加密?


不邀自來,想到兩種方案。

一,在用戶設定密碼的時候,就記錄了用戶的密碼強度。

二,準備了若干個彩虹表,因為大規模彩虹表成本很高,所以就算查到也可以算作中等密碼強度。


測試了一下,判定標準大概是:

對於不是太短的密碼(8位以上?沒具體測試這個閾值),檢查數字、小寫字母、大寫字母和符號這四大類中出現了幾類。1類是低,2類是中,3、4類是高。

對於短密碼,似乎降一級。

所以不需要存儲原始密碼就可以判斷密碼強度的。甚至如 @沈怡濤 所說提前存儲密碼強度也可以。

但也不排除存儲了原始密碼的可能。

如果能找到一個第一批QQ用戶還一直沒改過密碼的說不定能測試出來……前提是那時候OICQ已經不是明文存儲密碼了。

Update:

@李峰 (這個名字太多@不到了)在匿名用戶的答案下面評論說申訴可以填儘可能相似的密碼,那基本就是存儲了原始密碼或可逆加密後的原始密碼了。

順便贊一下 @李峰 的簡介欄。多點感謝少點贊。


我覺得qq肯定存儲了用戶的密碼。 曾經用過的也保存在。 還記得以前申訴的時候會讓你填寫以前用過的密碼嘛?


騰訊肯定比任何其它第三方的人都更關注QQ賬號的安全性,所以明文一說不大可能發生。至於可以檢測出以前賬號的強度,可以參考一下 @weyou 的猜測2,可能性很大


記得曾經看過在某浪工作的碼農博客,裡面提到由於有關部門要求提供用戶的密碼,所以他們的資料庫密碼是用可逆加密演算法加密的,而不是md5,sha之類的

真實性有待考證


明文保存了密碼強度,但是沒有明文保存密碼。

至於那位說申訴時要填密碼,說明密碼是明文保存的真是笑死人了。

你登陸時也要填密碼那密碼是不是也是明文保存了?


推薦閱讀:

我的視頻VIP賬號密碼泄露了,怎麼辦?
新聞裡面說連接公共場合免費wifi可能會泄露銀行帳號及密碼這個存在可能性嗎?
Feistel結構為什麼是加解密互逆?
Gmail密碼模糊驗證原理?
這個圖什麼意思?

TAG:騰訊QQ | 網路安全 | 密碼 |