我聽到越來越多的安全專家說,為了阻止暴力密碼黑客工具,密碼應該超過14個字元。但是,對大多數企業使用者群來說,這似乎有點兒要求太高了。您對這個標準的密碼長度有何建議?
答:專家們建議的這個密碼長度是有原因的,且並不是因為暴力工具。而是因為彩虹表(rainbow table,它是一張採用各種加密演算法生成的明文和密文的對照表),稍後我們將對此作出解釋。首先,為安全起見,現代應用程式和作業系統不會明文儲存使用者密碼。相反,因為使用者重置密碼,輸入的字母數字字元會進行加密演算法,創造了乙個獨特的加密雜湊值,它代表密碼,且它儲存在系統中的乙個檔案裡。當使用者返回到訪問系統,通過輸入序列相同的字母和數字,系統生成乙個動態雜湊序列和它的值,將它與原始檔案的值對比,確定使用者輸入的密碼是否正確。
過去,雜湊密碼被認為是乙個安全的辦法,因為即使黑客能夠獲取系統的密碼雜湊檔案,但以計算機的能力,採取隨機輸入密碼與系統檔案中已知的雜湊值進行匹配,是乙個不可能完成的任務。然而,由於這些資訊的價值
以及當今計算機指數級的計算能力,黑客已經開始採取將每乙個密碼字串行組合對映到它們的雜湊值——從a,aa,aaa開始,通過整個字母數字序列,並將結果儲存在公開可用的表被稱為彩虹表。這當然需要許多小時的努力,但這種型別的工作正在進行中。從最初試圖獲取密碼的雜湊值開始,表的範圍和規模都在不斷增長,已經增長到密碼低於12-14個字元長度的話,那它們的雜湊值現在很有可能儲存在彩虹表中的某個位置。這意味著,乙個獲得系統雜湊檔案的不懷好意的人可以輕鬆獲得乙個彩虹表(關於作業系統或應用程式的),從而查詢雜湊值來獲得使用者儲存在裡面的密碼。不幸的是,隨著彩虹表的規模不斷增長,密碼必須變得更長更複雜,這樣才能使別人獲得使用者雜湊值的要做的努力更大更沉重。正在進行的組裝彩虹表資料的工作,可能會很快讓關於最小密碼長度的最佳做法的討論變得毫無意義,這也是很多專家認為對重要的有價值的資料的身份驗證憑據來說,密碼乙個糟糕的選擇的主要原因。
給定乙個字串,將後m個字元移到整個字元的前面
9.寫 環節 問題 給定乙個字串,將後m個字元移到整個字元的前面。例 str abcd12 m 2,輸出 12abcd 先寫了乙個最低階的雙重for迴圈把最後m個字元依次和前面交換換到最前。時間複雜度o mn 面試官說需要優化一下 繼續寫了乙個臨時變數存後m個字元,然後把全部前面的字元從後往前直接覆...
計算乙個字串中每個字元出現的次數
已知字串為 aaabbbbbbcadd 思路1 1.建立乙個map key 出現的字元 value 出現的次數 2.獲取字串中的每乙個字元 3.檢視字元是否在map中作為key存在.若存在 說明已經統計過 value 1 不存在 value 1 如下 public class countstring...
計算乙個字串中每個字元出現的次數
分析 1 使用scanner獲取使用者輸入的字串 2 建立map集合,key是字串中的字元,value是字元的個數 3 遍歷字串,獲取每乙個字元 4 獲取到的字元,去map集合判斷key是否存在 key存在 通過字元 key 獲取value 字元個數 value put key,value 把新的v...