目的:
提高一下身邊人的密碼安全意識。
前言:最近愛奇藝賬號充了個會員,某天突然發現頭像被改(十分非主流),一查登入記錄,被嚇了一跳(見圖1.1)。跟客服反饋,各種槽點就不吐了,今天就主要說說從自身的角度如何提高密碼安全性。
如有說得不準確,歡迎指出。第一部分從幾個方面講原理,覺得乏味的可以跳過這一部分,直接看第二部分設定乙個較為安全密碼的步驟。
圖1.1
第一部分:
1、好的密碼是如何定義的?
安全、易用。
密碼應該是安全的。我設定的密碼只能是我自己知道、我想要知道的人知道,除此之外,我不希望再有任何人知道。從原則上來說,負責驗證該密碼的平台也不應該知道該密碼(的明文,什麼是明文在下文會說到)。
密碼應該是
好的密碼應該是兼顧這兩方面的。
2、容易存在的密碼安全隱患有哪些?
i、密碼過於簡單。
密碼僅由少數字的字母或數字組成,容易被窮舉暴力破解。
ii、密碼通用性過強。
多個平台的賬號使用同一密碼,這些平台又有郵箱或者手機號碼等常用於平台登入的資訊,乙個密碼被破解,連著的一系列使用者密碼都如同虛設。
3、密碼實際上是如何儲存和校驗的?
首先解釋一下明文與密文。
明文指的就是使用者所知道的密碼,比如我想登入乙個**,把密碼設定為「shaochengcheng123456」,「shaochengcheng123456」就是明文。
密文如這樣「
sha1
: c29debbb80c7074aa335c5ae51ae73816c638b29」,由一長串16進製制的字元所組成,提交的明文密碼最後經由一系列的加密、傳輸和加密之後會與明文進行比對,當兩者一致時,方可通過使用者認證。
密碼用密文儲存和驗證主要是考慮到當密碼發生洩漏時,控制密碼的原文不被洩漏,縮小密碼洩漏的影響,保護使用者的密碼隱私。不同的平台原則上應該採用不同的加密方式,對密碼進行不同的加鹽處理等,讓獲取密碼密文者不能推出密碼原文。
請注意我的用詞,我說的是不同的平台原則性會維護使用者的密碼安全,但不排除有安全意識不夠或不負責的公司在這一方面並沒有進行周詳的考慮,他們也許採用一些公共的加密演算法,又或者他們本身就是那些盜取你密碼資訊的「黑商」。當你以手機號碼、電子郵箱作為使用者資訊在這些平台上註冊資訊時,並且使用的是你的通用密碼,後果就不用我說了吧,一旦到了這種時候,真就是「人為刀俎我為魚肉」。
二次登陸驗證,常見的有手機短息驗證。)
4、想要破解你的密碼,究竟有多難?
破解密碼常用的方法有窮舉法和字典對照表法。
窮舉法就是通過機器計算排列組合,一遍一遍對密碼進行嘗試,直到獲得正確的密碼。了解了窮舉法的原理,你就明白什麼是平台註冊時所說的密碼強度。為什麼有的平台要求你設定密碼必須由字母、數字或符號組成,密碼長度又必須大於多少位,這些都是在增加窮舉演算出密碼的難度。現在電腦的計算能力越來越強,又有了分布式集群計算,計算資源豐富,平台對使用者設定密碼的強度的期盼當然也就越來越高,其實這一點與使用者對密碼的易用性期待是相違背的,在第二部分我會丟擲我的方法,如何在增強密碼強度的同時兼顧易用性。
電腦窮舉運算密碼能力的具體引數請參考下面這篇文章。當然,在資訊高速發展的今天,也要注意時效性哦。
字典對照表法指的是從幾個維度儲存密碼密文到明文的對映關係。例如,當你拿到乙個密文,你可以在這個對照表裡查詢到對應該密文的原文資訊,從而將明文密碼鎖定在很小的乙個範圍(相對窮舉法來說)。如果這個對照表足夠大,如果被破解密碼的平台用的是公共加密演算法,那麼密碼從密文到明文就近在咫尺了。
第二部分:
說了這麼多,接下來說一說我的密碼設定方法,當然,聰明的你一定知道自己在設定密碼時也不能完全按部就班,重點是touch思想,有所啟發,有所多樣。
從密碼的強度和通用性考慮,最終設定的密碼是由以下幾點綜合而成。
1、密碼a(娛樂場合):123456
密碼b(重要場合):1314151910
2、增加密碼複雜性。例如增加自己名稱的首字母、增加幾個容易記憶的符號例如「!@#」
張三密碼a:zs123456!@#
密碼b:zs1314151910!@#
3、減少密碼的通用性。根據不同平台,增加不同的字首。例如愛奇藝為「iqiyi」。
愛奇藝密碼a:iqiyizs123456!@#
密碼b:iqiyizs1314151910!@#
密碼a:wechatzs123456!@#
密碼b:wechatzs1314151910!@#
結語:希望能對你有用,畢竟現在是資訊化的時代,不要成為新時代的「文盲」哦。
著作權歸
關於Ubuntu的一些設定
切換ubuntu為控制台登陸.sudo chmod w etc default grub sudo gedit etc default grub 方法1.grub terminal console 上面一行注釋去掉 方法2.grub cmdline linux default quiet splas...
關於TableView Cell的一些設定
tableview 的 separatorstyle 設定是否有線 風格 一 設定cell底部線 的位置 自定義cell內 self.separatorinset uiedgeinsetszero if self respondstoselector selector setlayoutmargin...
關於iOS Tabbar的一些設定
其實ios tabbar的可定製性非常高,我們沒有必要重複造輪子,下面是筆者收集的一些tabbar的常用設定,希望對大家有所幫助。設定tabbar選中顏色 ios7設定如下 self tabbarcontroller.tabbar setselectedimagetintcolor uicolorg...