對于電子商務網站所有者和提供商業軟件應用程序的人來說,密碼哈希變得比以往任何時候都更加重要。保護用戶數據 不再是一個建議,而是一項要求,因為消費者將他們的安全和數據安全放在首位。

如果黑客或惡意行為者獲得了對您的密碼數據庫的訪問權限,并且這些密碼以純文本形式存儲,則入侵者將可以訪問您網站或應用程序上的每個用戶帳戶。
避免這種情況的推薦方法是通過密碼散列。
電子商務黑客
如果沒有適當的網絡安全協議,電子商務商店所有者就有可能將自己和他們的客戶置于風險之中。我們不需要再看2013 年 Target 黑客攻擊就可以了解黑客攻擊如何以及為何成為電子商務平臺的主要威脅。
話雖這么說,較小的電子商務商店比大公司面臨更大的風險,因為它們針對網絡犯罪分子的安全協議較少。小型電子商務商店可能面臨的兩種最大的網絡犯罪包括網絡釣魚攻擊和信用卡欺詐,前者的攻擊目標是用戶數據,例如信用卡號和登錄信息,后者試圖提取信用卡號,然后將其出售在黑市上。
正如您現在所希望知道的那樣,電子商務商店的安全性一定是您最關心的問題,這將需要您采用多種安全措施,包括密碼散列。
什么是密碼散列?
要 了解當前如何在內容管理系統和 Web 應用程序上使用密碼散列,我們必須定義一些關鍵內容。
當您對密碼進行哈希處理時,它基本上會將密碼轉換為加擾表示或“字符串”,您可以使用它來避免將密碼存儲為純文本,以免惡意行為者找到它們。哈希在內部將值與加密密鑰進行比較以實際解釋密碼。
還應注意,哈希是一種不同于 加密的加密安全形式。這是因為加密旨在通過兩步過程對消息進行加密和解密,但正如我們剛剛介紹的那樣,散列旨在從文本中的前一個字符串生成一個字符串,該字符串可能會因輸入變化很小而有很大差異。
您將看到的另一種散列方法是 所謂的加鹽,它只是將字符添加到散列密碼的末尾,以使其更難解碼。
與鹽腌類似的是所謂的胡椒腌制。這還會在密碼末尾添加一個附加值。有兩種不同的加鹽版本,第一種是將值添加到密碼末尾,如我上面提到的,第二種是添加到密碼的值在位置和值上都是隨機的。這樣做的好處是它使蠻力攻擊和某些其他攻擊變得非常困難。
目前使用的哈希算法
根據平臺的不同,您將看到用于密碼的各種散列方法。這也可能因內容管理系統而異。
最不安全的散列算法之一 稱為 MD5,它創建于 1992 年。正如您可以從 1992 年創建的算法中想象的那樣,它不是最安全的散列算法。該算法使用比傳統加密標準低很多的 128 位值,因此這意味著它不是一個非常安全的密碼選項,而是更常用于不太安全的要求,例如文件下載。
您將看到的下一個常見哈希算法 是 SHA-1。該算法由美國國家安全局于 1993 年創建。他們等了幾年才發布該算法,然而盡管比 MD5 只晚了一年才開發出來,但它在當時要安全得多。您可能仍會看到一些密碼以這種方式進行哈希處理,但不幸的是,該標準已被確定不再安全。
作為國家安全局發布的 SHA1 的升級版本,SHA-2 于 2001 年創建。與它的前身一樣,它不是由 NSA 專門創建的,只是在幾年前才被標準化。它仍然是安全散列密碼的可行方法。
您將看到的另一種密碼哈希算法是 //medium.com/@danboterhoven/why-you-should-use-bcrypt-to-hash-passwords-af330100b861" target="_blank" rel="nofollow noopener" style="box-sizing: border-box; color: rgb(0, 176, 255); text-decoration: none; background-color: transparent; touch-action: manipulation;">Bcrypt。BCrypt 算法包含一種鹽,旨在防止暴力攻擊。
BCypt 用來使蠻力攻擊更加困難的工具之一是減慢惡意行為者可能正在使用的蠻力操作或程序。這意味著如果嘗試使用蠻力攻擊,則可能需要數年時間才能成功。
與 bCrypt 類似的是 Scrypt。這種密碼散列算法還通過鹽等額外防御來擴展密鑰 (旨在將隨機數據添加到散列函數輸入以創建更獨特的輸出),并使蠻力攻擊幾乎不可能,而 Scrypt 的另一個優勢是它被設計為在被蠻力攻擊時占用大量計算機內存。這意味著它有一個額外的措施來延長暴力攻擊成功所需的時間。
我們將在內容管理系統和 Web 應用程序上看到的最后一種密碼哈希算法是 PBKDF2。此密碼哈希算法由 RSA Laboratories 創建,與前面提到的算法一樣,還向哈希添加擴展以使 Brute Force 更加困難。
存儲散列密碼
在散列過程之后,以及在使用任何算法完成其工作之后,密碼的輸出將是其自身的加擾十六進制表示形式。
這意味著這將是一串很長的字母和數字,這些字母和數字將是網站或應用程序存儲的內容,以防黑客獲得該信息的訪問權限。
因此換句話說,如果黑客進入您的電子商務網站并找到用戶密碼數據庫,那么他將無法使用它們直接登錄用戶帳戶。
相反,他或她將不得不解釋隨機字母和數字來弄清楚您的密碼實際上是什么。

多個網站密碼
有時您會遇到電子商務商店用戶 可能需要在不同服務之間共享密碼的情況。
這方面的一個例子可能是您有一個單獨構建的移動設備應用程序,與基于 Web 的版本相比,它可能采用不同的技術或在不同的平臺上。在這種情況下,您需要跨多個平臺同步散列密碼,這可能非常復雜。
幸運的是,有些公司可以幫助跨平臺同步哈希密碼。 一個例子是 FoxyCart,它是一種允許在應用程序之間同步散列密碼的服務。





