关于前端:保护电商网站的最常用密码哈希方法

47次阅读

共计 2253 个字符,预计需要花费 6 分钟才能阅读完成。

对于电子商务网站所有者和提供商业软件应用程序的人来说,明码哈希变得比以往任何时候都更加重要。爱护用户数据 不再是一个倡议,而是一项要求,因为消费者将他们的平安和数据安全放在首位。

如果黑客或歹意行为者取得了对您的明码数据库的拜访权限,并且这些明码以纯文本模式存储,则入侵者将能够拜访您网站或应用程序上的每个用户帐户。

防止这种状况的举荐办法是通过明码散列。

电子商务黑客

如果没有适当的网络安全协定,电子商务商店所有者就有可能将本人和他们的客户置于危险之中。咱们不须要再看 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,它是一种容许在应用程序之间同步散列明码的服务。

正文完
 0