當前位置:首頁 » 存儲配置 » 密碼安全存儲

密碼安全存儲

發布時間: 2022-11-30 03:50:39

Ⅰ 怎麼安全保存各種賬號密碼

想要安全保存,只有一種方法,那就是讓你一個人記住賬號和密碼,沒有第二個人知道,這樣會很安全,兩個人知道的秘密都不叫秘密,所以還是想辦法記住吧,記在自己腦海里,這是最安全最放心的。

Ⅱ 我的私人信件和密碼,保存在電腦里的什麼地方比較安全

你的私人信件和密碼保存在第一,最好的密碼保存地方是腦子里,第二,記性不好,怕忘記了,你可以保存在電腦里,電腦設置開機密碼,但是你必須記住電腦的密碼。第三,網路網盤,雲文檔之類的,注冊帳號,設置密碼,密碼必須記住,不過密碼你可以記到筆記本里某頁不顯眼的地方。第四,可以把你的信件傳到扣扣郵箱里,密碼記到一張紙上,拍圖片,傳單扣扣相冊,新建個只有自己可見的相冊,不過登錄扣扣你也得記住密碼。

Ⅲ 帳號、密碼保存在哪裡最安全

我覺得你們為什麼會覺得這樣就安全了,試著想想看其實有多種方法可以讓你們現在認為安全的高牆完全倒塌!真不知道上面的朋友竟然會用「絕對安全」這幾個字,只要是電腦上的東西,只要是電腦程序,沒有一個是完美的,沒有一個是沒有漏洞的。假如我是個頂級電腦高手,黑客高手,真心的想要得到你放置於QQ記事本或者其他任何你認為安全的電腦或者伺服器平台中的賬號,密碼,重要資料等內容,經過較長時間的攻關,終有一天全部到我手裡,如果你有銀行卡賬號或者密碼你的麻煩就大了,當然了,實際生活中那些頂級高手出於各種原因是不會去做這樣損人害己的事兒的,但全世界那麼多在各個領域和行業從事電腦頂尖工作的高手,說不定哪天哪個高手腦子出問題突然想做些損人不利己的事兒呢?
說不定你就中槍了。就像美國出了個斯諾登,美國政府想得到嗎?結果把美國的很多頂級機密全部公之於眾。我的一點點話不可能說的很全面,只能說一點點邊。棱鏡門事件,美國監視了那麼多世界上主要的國家,為什麼?難道那些被監視或者被竊聽的國家政府都是傻瓜,都是技不如人。還是回到剛才的話,這些科技的東西哪一個都是有漏洞存在的。棱鏡門事件中還說美國的那些機構或工作人員竟然可以做到無網入侵電腦。就是你的電腦或者伺服器沒有通過網線連接互聯網情況下,他都可以通過另一種技術把你電腦中的資料全部盜走。恐怖吧!所以還是那句話,科技的東西,就因為是科技,人類在不斷的進步,新科技不斷被更新更先進的科技所突破,科技也在不斷的與時俱進,所以真正可靠的還是記錄在紙張上最安全。對了,還有另外一個重要的渠道來偷盜你認為安全的資料,那就是你把這些重量資料交付保管的那些所謂的網路公司,你的重要資料放在某某記事本里,內容又傳承到網路公司的伺服器,呵呵,我想說的是,萬一網路公司負責用戶重要資料的工作人員正好是個干壞事的料呢(領導平時沒有看出來他的為人)或者他平時為人不錯但出於某種變故他要去做些損人害己的事兒呢?那你的資料就是他的囊中之物,還何來安全。所以網路是沒有安全地的,現在國家也沒有在這方面去好好的全面的去立法,那些所謂的大公司都干著很多見不得人的勾當,表面光鮮亮麗,背地裡污垢不堪。停了,不說了。

Ⅳ 如何安全保存密碼

過去一段時間來,眾多的網站遭遇用戶密碼資料庫泄露事件,這甚至包括頂級的互聯網企業–NASDQ上市的商務社交網路Linkedin,國內諸如CSDN一類的就更多了。
層出不窮的類似事件對用戶會造成巨大的影響,因為人們往往習慣在不同網站使用相同的密碼,一家「暴庫」,全部遭殃。
那麼在選擇密碼存儲方案時,容易掉入哪些陷阱,以及如何避免這些陷阱?我們將在實踐中的一些心得體會記錄於此,與大家分享。

菜鳥方案:
直接存儲用戶密碼的明文或者將密碼加密存儲。
曾經有一次我在某知名網站重置密碼,結果郵件中居然直接包含以前設置過的密碼。我和客服咨詢為什麼直接將密碼發送給用戶,客服答曰:「減少用戶步驟,用戶體驗更好」;再問「管理員是否可以直接獲知我的密碼」, 客服振振有詞:「我們用XXX演算法加密過的,不會有問題的」。 殊不知,密碼加密後一定能被解密獲得原始密碼,因此,該網站一旦資料庫泄露,所有用戶的密碼本身就大白於天下。
以後看到這類網站,大家最好都繞道而走,因為一家「暴庫」,全部遭殃。
入門方案:

將明文密碼做單向哈希後存儲。
單向哈希演算法有一個特性,無法通過哈希後的摘要(digest)恢復原始數據,這也是「單向」二字的來源,這一點和所有的加密演算法都不同。常用的單向哈希演算法包括SHA-256,SHA-1,MD5等。例如,對密碼「passwordhunter」進行SHA-256哈希後的摘要(digest)如下:
「」
可能是「單向」二字有誤導性,也可能是上面那串數字唬人,不少人誤以為這種方式很可靠, 其實不然。
單向哈希有兩個特性:
1)從同一個密碼進行單向哈希,得到的總是唯一確定的摘要
2)計算速度快。隨著技術進步,尤其是顯卡在高性能計算中的普及,一秒鍾能夠完成數十億次單向哈希計算
結合上面兩個特點,考慮到多數人所使用的密碼為常見的組合,攻擊者可以將所有密碼的常見組合進行單向哈希,得到一個摘要組合,然後與資料庫中的摘要進行比對即可獲得對應的密碼。這個摘要組合也被稱為rainbow table。
更糟糕的是,一個攻擊者只要建立上述的rainbow table,可以匹配所有的密碼資料庫。仍然等同於一家「暴庫」,全部遭殃。以後要是有某家廠商宣布「我們的密碼都是哈希後存儲的,絕對安全」,大家對這個行為要特別警惕並表示不屑。有興趣的朋友可以搜索下,看看哪家廠商躺著中槍了。
進階方案:

將明文密碼混入「隨機因素」,然後進行單向哈希後存儲,也就是所謂的「Salted Hash」。
這個方式相比上面的方案,最大的好處是針對每一個資料庫中的密碼,都需要建立一個完整的rainbow table進行匹配。 因為兩個同樣使用「passwordhunter」作為密碼的賬戶,在資料庫中存儲的摘要完全不同。
10多年以前,因為計算和內存大小的限制,這個方案還是足夠安全的,因為攻擊者沒有足夠的資源建立這么多的rainbow table。 但是,在今日,因為顯卡的恐怖的並行計算能力,這種攻擊已經完全可行。
專家方案:

故意增加密碼計算所需耗費的資源和時間,使得任何人都不可獲得足夠的資源建立所需的rainbow table。
這類方案有一個特點,演算法中都有個因子,用於指明計算密碼摘要所需要的資源和時間,也就是計算強度。計算強度越大,攻擊者建立rainbow table越困難,以至於不可繼續。
這類方案的常用演算法有三種:
1)PBKDF2(Password-Based Key Derivation Function)
PBKDF2簡單而言就是將salted hash進行多次重復計算,這個次數是可選擇的。如果計算一次所需要的時間是1微秒,那麼計算1百萬次就需要1秒鍾。假如攻擊一個密碼所需的rainbow table有1千萬條,建立所對應的rainbow table所需要的時間就是115天。這個代價足以讓大部分的攻擊者忘而生畏。
美國政府機構已經將這個方法標准化,並且用於一些政府和軍方的系統。 這個方案最大的優點是標准化,實現容易同時採用了久經考驗的SHA演算法。
2) bcrypt
bcrypt是專門為密碼存儲而設計的演算法,基於Blowfish加密演算法變形而來,由Niels Provos和David Mazières發表於1999年的USENIX。
bcrypt最大的好處是有一個參數(work factor),可用於調整計算強度,而且work factor是包括在輸出的摘要中的。隨著攻擊者計算能力的提高,使用者可以逐步增大work factor,而且不會影響已有用戶的登陸。
bcrypt經過了很多安全專家的仔細分析,使用在以安全著稱的OpenBSD中,一般認為它比PBKDF2更能承受隨著計算能力加強而帶來的風險。bcrypt也有廣泛的函數庫支持,因此我們建議使用這種方式存儲密碼。
3) scrypt
scrypt是由著名的FreeBSD黑客 Colin Percival為他的備份服務 Tarsnap開發的。
和上述兩種方案不同,scrypt不僅計算所需時間長,而且佔用的內存也多,使得並行計算多個摘要異常困難,因此利用rainbow table進行暴力攻擊更加困難。scrypt沒有在生產環境中大規模應用,並且缺乏仔細的審察和廣泛的函數庫支持。但是,scrypt在演算法層面只要沒有破綻,它的安全性應該高於PBKDF2和bcrypt。
來源:堅果雲投稿,堅果雲是一款類似Dropbox的雲存儲服務,可以自動同步、備份文件。

Ⅳ 如何安全地存儲密碼

保護密碼最好的的方式就是使用帶鹽的密碼hash(salted password hashing).對密碼進行hash操作是一件很簡單的事情,但是很多人都犯了錯。接下來我希望可以詳細的闡述如何恰當的對密碼進行hash,以及為什麼要這樣做。
重要提醒
如果你打算自己寫一段代碼來進行密碼hash,那麼趕緊停下吧。這樣太容易犯錯了。這個提醒適用於每一個人,不要自己寫密碼的hash演算法 !關於保存密碼的問題已經有了成熟的方案,那就是使用phpass或者本文提供的源碼
什麼是hash
hash("hello") =
hash("hbllo") =
hash("waltz") =

Hash演算法是一種單向的函數。它可以把任意數量的數據轉換成固定長度的「指紋」,這個過程是不可逆的。而且只要輸入發生改變,哪怕只有一個bit,輸出的hash值也會有很大不同。這種特性恰好合適用來用來保存密碼。因為我們希望使用一種不可逆的演算法來加密保存的密碼,同時又需要在用戶登陸的時候驗證密碼是否正確。
在一個使用hash的賬號系統中,用戶注冊和認證的大致流程如下:
1, 用戶創建自己的賬號
2, 用戶密碼經過hash操作之後存儲在資料庫中。沒有任何明文的密碼存儲在伺服器的硬碟上。
3, 用戶登陸的時候,將用戶輸入的密碼進行hash操作後與資料庫里保存的密碼hash值進行對比。
4, 如果hash值完全一樣,則認為用戶輸入的密碼是正確的。否則就認為用戶輸入了無效的密碼。
5, 每次用戶嘗試登陸的時候就重復步驟3和步驟4。

在步驟4的時候不要告訴用戶是賬號還是密碼錯了。只需要顯示一個通用的提示,比如賬號或密碼不正確就可以了。這樣可以防止攻擊者枚舉有效的用戶名。
還需要注意的是用來保護密碼的hash函數跟數據結構課上見過的hash函數不完全一樣。比如實現hash表的hash函數設計的目的是快速,但是不夠安全。只有加密hash函數(cryptographic hash functions)可以用來進行密碼的hash。這樣的函數有SHA256, SHA512, RipeMD, WHIRLPOOL等。
一個常見的觀念就是密碼經過hash之後存儲就安全了。這顯然是不正確的。有很多方式可以快速的從hash恢復明文的密碼。還記得那些md5破解網站吧,只需要提交一個hash,不到一秒鍾就能知道結果。顯然,單純的對密碼進行hash還是遠遠達不到我們的安全需求。下一部分先討論一下破解密碼hash,獲取明文常見的手段。
如何破解hash
字典和暴力破解攻擊(Dictionary and Brute Force Attacks)
最常見的破解hash手段就是猜測密碼。然後對每一個可能的密碼進行hash,對比需要破解的hash和猜測的密碼hash值,如果兩個值一樣,那麼之前猜測的密碼就是正確的密碼明文。猜測密碼攻擊常用的方式就是字典攻擊和暴力攻擊。
Dictionary Attack

Trying apple : failed
Trying blueberry : failed
Trying justinbeiber : failed
...
Trying letmein : failed
Trying s3cr3t : success!

字典攻擊是將常用的密碼,單詞,短語和其他可能用來做密碼的字元串放到一個文件中,然後對文件中的每一個詞進行hash,將這些hash與需要破解的密碼hash比較。這種方式的成功率取決於密碼字典的大小以及字典的是否合適。
Brute Force Attack

Trying aaaa : failed
Trying aaab : failed
Trying aaac : failed
...
Trying acdb : failed
Trying acdc : success!

暴力攻擊就是對於給定的密碼長度,嘗試每一種可能的字元組合。這種方式需要花費大量的計算機時間。但是理論上只要時間足夠,最後密碼一定能夠破解出來。只是如果密碼太長,破解花費的時間就會大到無法承受。
目前沒有方式可以阻止字典攻擊和暴力攻擊。只能想辦法讓它們變的低效。如果你的密碼hash系統設計的是安全的,那麼破解hash唯一的方式就是進行字典或者暴力攻擊了。
查表破解(Lookup Tables)
對於特定的hash類型,如果需要破解大量hash的話,查表是一種非常有效而且快速的方式。它的理念就是預先計算(pre-compute)出密碼字典中每一個密碼的hash。然後把hash和對應的密碼保存在一個表裡。一個設計良好的查詢表結構,即使存儲了數十億個hash,每秒鍾仍然可以查詢成百上千個hash。
如果你想感受下查表破解hash的話可以嘗試一下在CraskStation上破解下下面的sha256 hash。

反向查表破解(Reverse Lookup Tables)
Searching for hash(apple) in users' hash list... : Matches [alice3, 0bob0, charles8]
Searching for hash(blueberry) in users' hash list... : Matches [usr10101, timmy, john91]
Searching for hash(letmein) in users' hash list... : Matches [wilson10, dragonslayerX, joe1984]
Searching for hash(s3cr3t) in users' hash list... : Matches [bruce19, knuth1337, john87]
Searching for hash([email protected]) in users' hash list... : No users used this password

這種方式可以讓攻擊者不預先計算一個查詢表的情況下同時對大量hash進行字典和暴力破解攻擊。
首先,攻擊者會根據獲取到的資料庫數據製作一個用戶名和對應的hash表。然後將常見的字典密碼進行hash之後,跟這個表的hash進行對比,就可以知道用哪些用戶使用了這個密碼。這種攻擊方式很有效果,因為通常情況下很多用戶都會有使用相同的密碼。
彩虹表 (Rainbow Tables)
彩虹表是一種使用空間換取時間的技術。跟查表破解很相似。只是它犧牲了一些破解時間來達到更小的存儲空間的目的。因為彩虹表使用的存儲空間更小,所以單位空間就可以存儲更多的hash。彩虹表已經能夠破解8位長度的任意md5hash。彩虹表具體的原理可以參考http://www.project-rainbowcrack.com/
下一章節我們會討論一種叫做「鹽」(salting)的技術。通過這種技術可以讓查表和彩虹表的方式無法破解hash。
加鹽(Adding Salt)
hash("hello") =
hash("hello" + "QxLUF1bgIAdeQX") =
hash("hello" + "bv5PehSMfV11Cd") =
hash("hello" + "YYLmfY6IehjZMQ") =

查表和彩虹表的方式之所以有效是因為每一個密碼的都是通過同樣的方式來進行hash的。如果兩個用戶使用了同樣的密碼,那麼一定他們的密碼hash也一定相同。我們可以通過讓每一個hash隨機化,同一個密碼hash兩次,得到的不同的hash來避免這種攻擊。
具體的操作就是給密碼加一個隨即的前綴或者後綴,然後再進行hash。這個隨即的後綴或者前綴成為「鹽」。正如上面給出的例子一樣,通過加鹽,相同的密碼每次hash都是完全不一樣的字元串了。檢查用戶輸入的密碼是否正確的時候,我們也還需要這個鹽,所以鹽一般都是跟hash一起保存在資料庫里,或者作為hash字元串的一部分。
鹽不需要保密,只要鹽是隨機的話,查表,彩虹表都會失效。因為攻擊者無法事先知道鹽是什麼,也就沒有辦法預先計算出查詢表和彩虹表。如果每個用戶都是使用了不同的鹽,那麼反向查表攻擊也沒法成功。
下一節,我們會介紹一些鹽的常見的錯誤實現。
錯誤的方式:短的鹽和鹽的復用
最常見的錯誤實現就是一個鹽在多個hash中使用或者使用的鹽很短。
鹽的復用(Salt Reuse)
不管是將鹽硬編碼在程序里還是隨機一次生成的,在每一個密碼hash里使用相同的鹽會使這種防禦方法失效。因為相同的密碼hash兩次得到的結果還是相同的。攻擊者就可以使用反向查表的方式進行字典和暴力攻擊。只要在對字典中每一個密碼進行hash之前加上這個固定的鹽就可以了。如果是流行的程序的使用了硬編碼的鹽,那麼也可能出現針對這種程序的這個鹽的查詢表和彩虹表,從而實現快速破解hash。
用戶每次創建或者修改密碼一定要使用一個新的隨機的鹽
短的鹽
如果鹽的位數太短的話,攻擊者也可以預先製作針對所有可能的鹽的查詢表。比如,3位ASCII字元的鹽,一共有95x95x95 = 857,375種可能性。看起來好像很多。假如每一個鹽製作一個1MB的包含常見密碼的查詢表,857,375個鹽才是837GB。現在買個1TB的硬碟都只要幾百塊而已。
基於同樣的理由,千萬不要用用戶名做為鹽。雖然對於每一個用戶來說用戶名可能是不同的,但是用戶名是可預測的,並不是完全隨機的。攻擊者完全可以用常見的用戶名作為鹽來製作查詢表和彩虹表破解hash。
根據一些經驗得出來的規則就是鹽的大小要跟hash函數的輸出一致。比如,SHA256的輸出是256bits(32bytes),鹽的長度也應該是32個位元組的隨機數據。
錯誤的方式:雙重hash和古怪的hash函數
這一節討論另外一個常見的hash密碼的誤解:古怪的hash演算法組合。人們可能解決的將不同的hash函數組合在一起用可以讓數據更安全。但實際上,這種方式帶來的效果很微小。反而可能帶來一些互通性的問題,甚至有時候會讓hash更加的不安全。本文一開始就提到過,永遠不要嘗試自己寫hash演算法,要使用專家們設計的標准演算法。有些人會覺得通過使用多個hash函數可以降低計算hash的速度,從而增加破解的難度。通過減慢hash計算速度來防禦攻擊有更好的方法,這個下文會詳細介紹。
下面是一些網上找到的古怪的hash函數組合的樣例。
md5(sha1(password))
md5(md5(salt) + md5(password))
sha1(sha1(password))
sha1(str_rot13(password + salt))
md5(sha1(md5(md5(password) + sha1(password)) + md5(password)))

不要使用他們!
注意:這部分的內容其實是存在爭議的!我收到過大量郵件說組合hash函數是有意義的。因為如果攻擊者不知道我們用了哪個函數,就不可能事先計算出彩虹表,並且組合hash函數需要更多的計算時間。
攻擊者如果不知道hash演算法的話自然是無法破解hash的。但是考慮到Kerckhoffs』s principle,攻擊者通常都是能夠接觸到源碼的(尤其是免費軟體和開源軟體)。通過一些目標系統的密碼–hash對應關系來逆向出演算法也不是非常困難。
如果你想使用一個標準的」古怪」的hash函數,比如HMAC,是可以的。但是如果你的目的是想減慢hash的計算速度,那麼可以讀一下後面討論的慢速hash函數部分。基於上面討論的因素,最好的做法是使用標準的經過嚴格測試的hash演算法。
hash碰撞(Hash Collisions)
因為hash函數是將任意數量的數據映射成一個固定長度的字元串,所以一定存在不同的輸入經過hash之後變成相同的字元串的情況。加密hash函數(Cryptographic hash function)在設計的時候希望使這種碰撞攻擊實現起來成本難以置信的高。但時不時的就有密碼學家發現快速實現hash碰撞的方法。最近的一個例子就是MD5,它的碰撞攻擊已經實現了。
碰撞攻擊是找到另外一個跟原密碼不一樣,但是具有相同hash的字元串。但是,即使在相對弱的hash演算法,比如MD5,要實現碰撞攻擊也需要大量的算力(computing power),所以在實際使用中偶然出現hash碰撞的情況幾乎不太可能。一個使用加鹽MD5的密碼hash在實際使用中跟使用其他演算法比如SHA256一樣安全。不過如果可以的話,使用更安全的hash函數,比如SHA256, SHA512, RipeMD, WHIRLPOOL等是更好的選擇。
正確的方式:如何恰當的進行hash
這部分會詳細討論如何恰當的進行密碼hash。第一個章節是最基礎的,這章節的內容是必須的。後面一個章節是闡述如何繼續增強安全性,讓hash破解變得異常困難。
基礎:使用加鹽hash
我們已經知道惡意黑客可以通過查表和彩虹表的方式快速的獲得hash對應的明文密碼,我們也知道了通過使用隨機的鹽可以解決這個問題。但是我們怎麼生成鹽,怎麼在hash的過程中使用鹽呢?
鹽要使用密碼學上可靠安全的偽隨機數生成器(Cryptographically Secure Pseudo-Random Number Generator (CSPRNG))來產生。CSPRNG跟普通的偽隨機數生成器比如C語言中的rand(),有很大不同。正如它的名字說明的那樣,CSPRNG提供一個高標準的隨機數,是完全無法預測的。我們不希望我們的鹽能夠被預測到,所以一定要使用CSPRNG。

Ⅵ 如何安全的存儲密碼

將明文密碼做單向哈希後存儲。
單向哈希演算法有一個特性,無法通過哈希後的摘要(digest)恢復原始數據,這也是「單向」二字的來源,這一點和所有的加密演算法都不同。常用的單向哈希演算法包括SHA-256,SHA-1,MD5等。例如,對密碼「passwordhunter」進行SHA-256哈希後的摘要(digest)如下:
「」
可能是「單向」二字有誤導性,也可能是上面那串數字唬人,不少人誤以為這種方式很可靠, 其實不然。
單向哈希有兩個特性:
1)從同一個密碼進行單向哈希,得到的總是唯一確定的摘要
2)計算速度快。隨著技術進步,尤其是顯卡在高性能計算中的普及,一秒鍾能夠完成數十億次單向哈希計算
結合上面兩個特點,考慮到多數人所使用的密碼為常見的組合,攻擊者可以將所有密碼的常見組合進行單向哈希,得到一個摘要組合,然後與資料庫中的摘要進行比對即可獲得對應的密碼。這個摘要組合也被稱為rainbow table。
更糟糕的是,一個攻擊者只要建立上述的rainbow table,可以匹配所有的密碼資料庫。仍然等同於一家「暴庫」,全部遭殃。以後要是有某家廠商宣布「我們的密碼都是哈希後存儲的,絕對安全」,大家對這個行為要特別警惕並表示不屑。有興趣的朋友可以搜索下,看看哪家廠商躺著中槍了。

Ⅶ 對於個人來說,怎樣的密碼保存方式最安全

對於個人來說,密碼保存方式最安全的,那應該就是自己記得,不要記在其他地方,因為其他地方有可能會被別人所知道,最好的辦法就是記在自己腦子里。

Ⅷ 如何安全的存儲用戶密碼

大多數的web開發者都會遇到設計用戶賬號系統的需求。賬號系統最重要的一個方面就是如何保護用戶的密碼。一些大公司的用戶資料庫泄露事件也時有發生,所以我們必須採取一些措施來保護用戶的密碼,即使網站被攻破的情況下也不會造成較大的危害。如果你還在存儲用戶密碼的MD5,那可真的有點弱了。
保護密碼最好的的方式就是使用帶鹽的密碼hash(salted password hashing).對密碼進行hash操作是一件很簡單的事情,但是很多人都犯了錯。接下來我希望可以詳細的闡述如何恰當的對密碼進行hash,以及為什麼要這樣做。
重要提醒
如果你打算自己寫一段代碼來進行密碼hash,那麼趕緊停下吧。這樣太容易犯錯了。這個提醒適用於每一個人,不要自己寫密碼的hash演算法 !關於保存密碼的問題已經有了成熟的方案,那就是使用phpass或者本文提供的源碼。
什麼是hash
hash("hello") =
hash("hbllo") =
hash("waltz") =

Hash演算法是一種單向的函數。它可以把任意數量的數據轉換成固定長度的「指紋」,這個過程是不可逆的。而且只要輸入發生改變,哪怕只有一個bit,輸出的hash值也會有很大不同。這種特性恰好合適用來用來保存密碼。因為我們希望使用一種不可逆的演算法來加密保存的密碼,同時又需要在用戶登陸的時候驗證密碼是否正確。
在一個使用hash的賬號系統中,用戶注冊和認證的大致流程如下:
1, 用戶創建自己的賬號
2, 用戶密碼經過hash操作之後存儲在資料庫中。沒有任何明文的密碼存儲在伺服器的硬碟上。
3, 用戶登陸的時候,將用戶輸入的密碼進行hash操作後與資料庫里保存的密碼hash值進行對比。
4, 如果hash值完全一樣,則認為用戶輸入的密碼是正確的。否則就認為用戶輸入了無效的密碼。
5, 每次用戶嘗試登陸的時候就重復步驟3和步驟4。

在步驟4的時候不要告訴用戶是賬號還是密碼錯了。只需要顯示一個通用的提示,比如賬號或密碼不正確就可以了。這樣可以防止攻擊者枚舉有效的用戶名。
還需要注意的是用來保護密碼的hash函數跟數據結構課上見過的hash函數不完全一樣。比如實現hash表的hash函數設計的目的是快速,但是不夠安全。只有加密hash函數(cryptographic hash functions)可以用來進行密碼的hash。這樣的函數有SHA256, SHA512, RipeMD, WHIRLPOOL等。
一個常見的觀念就是密碼經過hash之後存儲就安全了。這顯然是不正確的。有很多方式可以快速的從hash恢復明文的密碼。還記得那些md5破解網站吧,只需要提交一個hash,不到一秒鍾就能知道結果。顯然,單純的對密碼進行hash還是遠遠達不到我們的安全需求...
以上是下面鏈接文章里的片段
具體請查看這個鏈接里的文章:
http://www.freebuf.com/articles/web/28527.html
滿意望採納~

Ⅸ Windows 7 中如何安全保存用戶名與密碼,從哪些方面實現其安全保護

原則方法1、原則上登錄密碼設置要不同

1、很多人為了圖省事和方便,各種賬戶注冊的登錄密碼設置為一個密碼。
這就加大了密碼丟失的風險。
因為有些注冊用戶名是使用手機號、郵箱注冊的,這些很容易獲取。
一個被盜,接連被盜的風險就大了。

原則方法2、一個密碼在唯一對應的地方登陸

1、什麼意思呢?說的就是如果你使用的qq密碼,那麼你可以再騰訊的各種平台上登陸。但是如果跳到不是騰訊的另一方去了,那麼你就該停止輸入登陸密碼了。
這個需要自己判斷是不是另一方。
如果非要登陸的,可以登陸qq,然後使用快捷登陸,這個一般網站都開辟了這樣的功能。

原則方法3、定期修改密碼

1、不管多長多復雜的密碼,一旦留下痕跡,被人破解了後果會很嚴重。尤其是涉及到財產安全的。
定期修改密碼可以起到保護的作用,這就是為什麼會有動態密碼的出現。

方法原則4、開通登陸提示和保護

1、很多應用都開通了登陸提示,具體狀況形式多樣。
例如:有的是以登陸地點是否顯示異常來體現。
有的是以開啟設備鎖來體現,比如在電腦登陸賬戶時必須通過手機確認。

方法原則5、用戶名注冊盡量用自定義字元

1、用戶名注冊的時候,很多可以使用郵箱、手機號,避開這些容易被獲取的用戶名,即使別人知道密碼,不知道用戶名也無法登陸。
至於郵箱手機什麼的可以使用綁定功能,用於找回密碼使用。

原則方法6、密碼存放盡量不要存在設備上,改用紙質收藏

很多人習慣將很多的用戶米及其對應的密碼記錄在手機便簽、電腦桌面、記事本等處圖方便。
殊不知萬一設備被盜或者丟失,連同很多賬戶也跟著丟失了。
所以如果要記的密碼很多,做好使用紙質的保存,然後存放好,以便遺忘時候拿出來看。

其他

1、以上就是小編想到的保護密碼安全的方法,大家有更精闢更好更簡單的方法歡迎給予評論。幫助大家共同擁有一個和諧安全的互聯網上網體驗,歡迎分享。

Ⅹ 密碼放在哪裡最安全

前言

目前隨著銀行卡,信用卡,網路賬號,會員卡的增多,密碼管理實在讓人頭疼。把密碼放在哪裡最安全,當然是記在腦子里,但是這多的的密碼,難免搞錯,所以最好有個密碼本,但這個密碼本放在哪裡又是最安全的呢?那就是讓人想不到的地方?

方法

第一步:

新建一個存放密碼的TXT文件,最好空出兩行,再寫密碼:如下圖所示:

第二步:

找一張照片,把它和密碼本放在同一個文件夾內,如下圖所示:

第三步:

在這個文件夾中,再新建一個TXT文件,如:密碼隱藏.txt,並在文件中輸入下列指令,並保存:

鑽井平台.JPG/b+密碼本.txt/a 重要.jpg

第四步

將密碼隱藏.txt的後綴名改為bat格式,即修改後的文件名為"密碼隱藏.bat"

第五步:雙擊"密碼隱藏.bat"文件,此文件夾內會多出一個圖片文件,即"重要.jpg"

驗證

雙擊"重要.jpg"文件,打開後是一張原來的照片:

密碼在哪裡?肯定在照片後面啊?

我們改一下後綴名,把"重要.jpg"改為"重要.txt",用記事本打開,前面是一堆亂碼,拖到最後一頁,你的密碼在這里:

最後把後綴名再改為去,重新變成圖片格式,這樣你的密碼就不會有人知道了,同學們快回去試試吧!

知識點

文件合成命令:

a+b c

同樣可以合成兩個音樂,兩個視頻等,大家不妨試試!

熱點內容
資料庫表的外鍵 發布:2023-01-30 21:41:30 瀏覽:588
華為9選哪個配置 發布:2023-01-30 21:40:43 瀏覽:941
雲伺服器gpu 發布:2023-01-30 21:33:26 瀏覽:544
發票忘記密碼如何列印 發布:2023-01-30 21:30:25 瀏覽:580
手機照片怎樣壓縮打包 發布:2023-01-30 21:30:12 瀏覽:276
軟體怎麼壓縮 發布:2023-01-30 21:29:19 瀏覽:570
如何將安卓手機屏幕投送到電腦上 發布:2023-01-30 21:28:10 瀏覽:520
c多線程編譯 發布:2023-01-30 21:27:50 瀏覽:393
怎麼破解郵箱126密碼 發布:2023-01-30 21:27:09 瀏覽:263
怎麼樣進入我的世界2b2t伺服器 發布:2023-01-30 21:26:59 瀏覽:581