为什么 jK8v!ge4D 不是一个好的密码

看一下这两个密码:

  1. jK8v!ge4D
  2. greenelephantswithtophats

您认为哪个密码破解计算机所需的时间最长?
您认为哪个密码最容易记住?
这两个问题的答案都是2号密码。但是,鼓励人们创建类似于1号的密码。人们被教导要写出人类难以记住的密码,这是没有道理的。

其实,互联网标准中有许多奇怪的事情。验证就是其中之一。作为前端开发人员,我希望验证用户在所谓的输入字段中的输入。这些是您输入用户名,电子邮件,家庭住址,邮政编码等时使用的字段。前端开发人员的职责是确保用户不会在这些字段中输入任何恶意或格式不正确的内容。

例如,要求邮递号的字段通常只允许使用空格和数字,如果我们知道用户所居住的国家/地区,也可以将其限制为一定数量的字符。电话号码通常可以包括数字,加号(仅在开头)和破折号,如果我们觉得比较宽松,也可以加上括号。电子邮件地址难以验证,但是,通常的做法是,即使完全有效的电子邮件地址实际上不具有这些属性,也必须在其后加上一个@。一些网站试图通过强迫人们将名字保持在一定长度内或强迫人们仅使用某些字符来验证名称,尽管这种验证实际上并没有用,因为人们的名字几乎可以是任何东西。

进行验证有几个原因。一是安全问题。验证可防止用户在可能更改数据库或执行其他恶意操作的字段中输入可怕的代码。另一个是强制某种数据类型。如果一个字段仅由数字组成,则数据库工程师可能已经设置了一个只允许数字的数据库列,这意味着不是数字的符号会导致错误发生。

但是,真正的主要原因是帮助用户避免犯错误。

强制输入密码

出于某些原因,前端开发人员应邀请用户输入传统上认为是好的密码。它的长度至少应为八个字符,包括大写和小写字符以及一个数字,如果我们真的很讨厌,它甚至应包括一个特殊字符,例如感叹号。

这是一个通常被认为是固定密码的示例:jK8v!ge4D。考虑到经常要求您输入这样的密码,您可以假设我们认为这是一个很好的密码。

但事实上这并不是一个好的密码!

首先,任何人都应该记住这一点?最终发生的事情是用户无法记住它,因此他们将密码记在某个地方。例如:就像记在便利贴上一样。然后被“黑客入侵”。

其次,用户最终会对不同的服务使用相同的密码,因为跟踪一大堆这些复杂的密码是令人讨厌的。当您为一个不错的网站创建一个帐户时,一些神奇的幕后代码会将您的密码转换为哈希(通常并错误地称为加密)。您的密码最终在数据库中看起来像这样:k5ka2p8bFuSmoVT1tzOyyuaREkkKBcCNqoDKzYiJL9RaE8yMnPgh2XzzF0NDrUhgrcLwg78xs1w5pJiypEdFX。即使数据库被黑客入侵,黑客也无法真正使用此信息做任何事情。如果密码足够常见,算法也足够简单,就可以计算出原始密码,不过如果密码经过适当的散列处理,一般来说还是相当安全的。

问题是,并不是所有的服务都会对用户的密码进行hash。如果您对许多服务使用相同的密码,那么您可能会使用一个编程不完善的服务,该服务实际上以明文将您的密码保存在其数据库中。如果他们最终被攻破,黑客会突然得到你所有账户的密码,而你使用的是相同的密码。这很可怕,而且发生的频率比人们想象的要高得多。

这就是为什么你必须为不同的网站使用不同的密码。然而,今天的用户拥有大量的网站账号。他们怎么能记住所有的密码呢?高级用户可以使用密码工具,但一般用户不能这样做。

好吧,有个更好的办法。


破解需要多长时间?

看看这个字符串:gtypohgt。它是八个随机的字符,都是小写的。现代计算机只需几分钟就能强行通过。将一些字符替换为一些数字,你将看到一个需要一个小时才能破解的密码(g9ypo3gt)。如果将几个字符大写,密码需要几天时间才能破解(g9YPo3gT)。在那里扔一个特殊的标志,它可能需要一个月(g9Y!o3gT)。

g9Y!o3gT从技术上讲是一个不错的密码。没有人能猜出它,它不在任何常见密码的短列表中,电脑将需要合理的时间来破解它。问题是这个密码很难被人记住——没有真正的原因。

24个字符,全小写。没有数字,没有随机字符,没有恶作剧。然而,这个密码将花费计算机数千年的时间来破解。你看,每添加一个字符,计算机破解所需的时间就会大大增加,greenelephantswithtophats不在任何常见密码的简短列表中,而且也没有人能猜出它。


现在这是一个很好的密码

需要Facebook密码?afaceforabookbutapizzaforahorse(书中的脸,马的披萨)怎么样?想象它。我们的空间记忆是我们最强的记忆。突然之间,你就有了一个非常强大的密码,它很容易记住,而且只适用于某个特定的网站。密码一定是非常了解你的人都猜不到的。你不经常谈论海龟,是吗?你见过紫海龟吗?没有?想象它。你现在拥有的,。在密码里撒谎是可以的:ioncesawapurpleturtleiswear(我曾经看到过一只紫海龟,我发誓)。现代电脑要破解这个密码需要数百万年的时间,即使你妹妹也猜不出来。

这些密码很容易想象。
flyingcarsthatcannotflyarenotflying. applesmaybegreatbutpearsarelikeheaven. goatswithshoesenjoytrainsonrainydays。
没有人会猜这些。

他们会抱怨你没有添加数字或大写字符,或者它太长,或者其他一些毫无意义的非技术原因。

添加一个A1 !以上任何一个密码的末尾,只要系统不认为它们太长,它们就会被接受。现在您有了一个大写字符、一个数字和一个特殊符号。即使这三个密码是相同的,其余的密码将弥补它。ioncesawapurpleturtleiswear ioncesawapurpleturtleiswearA1 !都是电脑不可能破解的,这意味着它只是一个不便,你必须输入这些字符的最后。

人们输入了错误的密码。网站管理人员不希望出现任何丑闻,所以他们试图强迫用户输入像样的密码,不管结果会多么麻烦。

下次需要创建密码时请记住这个技巧。做一个让电脑难以破解,让你容易记住的密码——而不是相反。

即使你不喜欢,也要保证远离123456、password123和qwerty键盘的任何变体。这些都是糟糕的密码。我想这就是为什么我们要你写像jK8v!ge4D这样的东西。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!