为什么叫彩虹桌呢?

2024-04-25

有人知道为什么叫彩虹桌吗?刚刚记得我们已经了解到有一种称为“字典攻击”的攻击。为什么不叫字典呢?


因为它包含了整个可能性的“范围”。

字典攻击是一种尝试可能性的暴力技术。像这样(python伪代码)

mypassworddict = dict()

for password in mypassworddict:
    trypassword(password)

然而,彩虹表的工作方式有所不同,因为它用于反转哈希。哈希的高级概述是它有许多 bin:

bin1, bin2, bin3, bin4, bin5, ...

它对应于输出字符串的二进制部分 - 这就是字符串最终达到其长度的方式。随着哈希的进行,它会以不同的方式影响垃圾箱的不同部分。因此,第一个字节(或接受的任何输入字段)输入影响(简单地说)bin 3 和 4。下一个输入影响 2 和 6。依此类推。

彩虹表是计算所有的可能性给定的垃圾箱,即该垃圾箱的所有可能的倒数,对于每个垃圾箱......这就是它最终如此之大的原因。如果第一个 bin 值为0x1那么你需要有一个包含所有值的查找列表bin2bin3 的所有值通过哈希向后工作,最终给出一个值。

为什么不称为字典攻击?因为事实并非如此。

正如我已经看到你之前的问题,让我详细说明你正在寻找的细节。理想情况下,加密安全哈希需要确保从较小的输入大小到整个文件都是安全的。预先计算哈希值整个文件需要永远。因此,彩虹表是在一个易于理解的输出子集上设计的,例如所有字符 a-z 在 10 个字符的字段上的排列。

这就是为什么击败字典攻击的密码建议在这里起作用的原因。您放入哈希输入中的整个可能输入集的子集越多,彩虹表需要包含的内容就越多以进行搜索。所需的数据量最终变得非常大,搜索时间也变得非常大。所以,想一想:

  • 如果您有一个输入[a-z] for 5-8角色,彩虹桌还不错。
  • 如果将长度增加到 42 个字符,那就是一个巨大的彩虹表。每个输入都会影响哈希值等等所述散列的垃圾箱。
  • 如果您在搜索要求中输入数字[a-z][0-9]你还有更多的搜索要做。
  • 同样地[A-Za-z0-9]。最后,坚持下去[\w]即您能想到的任何可打印字符,并且您再次看到的是一张巨大的桌子。

因此,使密码变得又长又复杂使得彩虹表开始采用蓝光大小的数据光盘。然后,根据您之前的问题,您开始添加加盐和哈希派生函数,并为哈希破解困难(呃)制定通用解决方案。

这里的目标是在可用的计算能力方面保持领先。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么叫彩虹桌呢? 的相关文章

  • 我的网站被黑了..我该怎么办? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我爸爸今天打电话给我 说访问他网站的人收到了 168 个病毒 试图下载到他们的计算机上 他根本不懂技术 而是用所见即所得的编辑器构建了整个东西 我打开
  • 保护登录和评论表单免受 CSRF 攻击

    我读过很多关于CSRF保护的文章 这个不错 http seclab stanford edu websec csrf csrf pdf 以及关于SO的各种问题 但它们似乎都没有足够的信息来回答我的问题 我正在开发自己的 CMS 我想保护我的
  • 是否可以将密码以纯文本形式存储在 php 变量或 php 常量中?

    根据问题 在 php 页面上存储密码是否安全 例如 password pa w0rd 如果用户看不到它 那就安全了 对吗 编辑 确实有人建议使用hash 但是数据库服务器连接密码会有问题不是吗 简短的回答是否定的 而且要看情况 以纯文本形式
  • 使用端口 80 (Ubuntu / Linode) 运行 Node.js 的最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在设置我的第一个Node js服务器上的cloud Linux node我对以下细节还很陌生Linux admin 顺便说一句 我并没有尝试
  • CodeIgniter - 为什么使用 xss_clean

    如果我正在清理我的数据库插入 并且还转义我编写的 HTMLhtmlentities text ENT COMPAT UTF 8 是否还需要使用 xss clean 过滤输入 它还有什么其他好处 xss clean http docs gip
  • Oracle - 为什么在存储过程中允许 EXECUTE IMMEDIATE?

    如果存储过程旨在减轻 SQL 注入攻击 为什么在存储过程中允许 EXECUTE IMMEDIATE 以下问题的公认答案将其视为针对此类攻击的一个步骤 什么是存储过程 https stackoverflow com a 459531 3163
  • 授予对视图的 SELECT 权限,但不授予对基础对象的 SELECT 权限

    我经常读到 视图的目的之一是安全性 允许某些用户访问基础表 而其他用户仅访问派生视图 考虑到这一点 我设计了几个向外部用户提供受限数据集的视图 一切都很好 但在实践中这是行不通的 我授予后SELECT对视图的权限 除非我授予 否则用户无法访
  • 我的小程序需要客户端访问资源的权限的策略文件位置在哪里?

    我发现我必须编写一个策略文件来授予我的小程序权限 但我真的很困惑 我想编写一个小程序 它是一个地图查看器 我需要在运行我的小程序的客户端上保存图像图块以在本地访问图块 以获得安全地查看地图的速度和时间 这对用户有利 因此 小程序需要授予读
  • Linux 缓冲区溢出环境变量

    我一直在审查不同类型的缓冲区溢出 并遇到了一个我不记得为什么会发生的问题 下面的代码是我尝试执行缓冲区溢出的程序 include
  • 如何阻止浏览器在选项卡之间共享会话?

    How to NOT在多个浏览器选项卡之间共享会话 我在 JSP Servlet 应用程序中使用 Spring Security 我想知道 我们如何使用 Spring Security 实现用户在更改浏览器选项卡时被迫再次登录的行为 免责声
  • 不需要 UserProvider 的自定义身份验证

    我在网上寻找适合我的配置的解决方案 但找不到满足我需求的东西 到目前为止 我已经为此工作了整整三天 但我无法使其正常工作 我确信有几件事我不明白 我正在分支 2 1 上开发我的 symfony 应用程序 为了让这个简短 我有一个网络服务 我
  • 如何在 Jboss 7.1 中配置简单身份验证

    我正在从事由以下人员编写的项目纯jsps 脚本 不使用任何框架 jboss版本 jboss as 7 1 0 Final 我现在正在尝试在其上添加简单的身份验证 因此 当用户尝试浏览 jsp 时 比如说 http localhost myC
  • PHP cookie 和会员安全

    我创建了一个论坛 该论坛在登录时使用 PHP 会话来确定用户 ID 并使用 cookie 来进行日志登录 我想我有两个问题 这是最好 最安全的方法吗 可以使用javascript通过地址栏手动添加cookie 这是一个巨大的安全风险 有没有
  • 使用openssl从服务器获取证书

    我正在尝试获取远程服务器的证书 然后可以将其添加到我的密钥库中并在我的 Java 应用程序中使用 一位高级开发人员 正在度假 告诉我我可以运行这个 openssl s client connect host host 9999 获取转储的原
  • JSON 响应周围的注释块

    我注意到一些 Web 应用程序返回 AJAX 响应 并在注释块中嵌入 JSON 数据 例如 这是一个示例响应 firstName John lastName Smith address streetAddress 21 2nd Street
  • 具有桌面应用程序安全性的 OAuth2

    我有一个 Electron 应用程序 它基本上是一个 Google Drive 客户端 我打算使用 OAuth 2 但是 Google API 要求我在生成 client secret 的地方注册我的应用程序 由于这是一个桌面应用程序 因此
  • .net 4.5.1 ASP.NET MVC 5 中的用户锁定

    因此 在新的 Net Framework 4 5 1 AspNetUser 表中没有用于在有限次数的不成功尝试后将用户锁定的列 是否有为此目的构建的框架或解决方案来取代以前的 net 框架中曾经存在的功能 还是我必须自己构建 在即将发布的
  • 保护 JSF 应用程序的安全

    我的一位自由职业者朋友邀请我加入他的 JSF 2 0 项目 我正在慢慢加快速度并将各个部分整合在一起 来自 Windows Forms NET 世界 至少可以说 我还有很多东西需要学习 我主要担心的是对于如何保护 JSF 应用程序缺乏明显的
  • 用于保护网站安全(使用 SSL)时,数字证书如何工作?

    请帮助我了解整个过程是如何进行的 据我了解 Web 浏览器包含 verisign Entrust Comodo 等证书颁发机构 CA 的根证书 但是当用户访问安全页面时到底会发生什么 Web 浏览器是否向 CA 服务器发送请求来验证证书 还
  • Symfony 5.4 Security Bundle,注册后无法登录

    我在 5 4 版本上构建空的新项目 我使用这些命令来构建项目 composer create project symfony skeleton 5 4 testapp54 cd testapp54 composer require weba

随机推荐

  • Spark 中的默认分区方案

    当我执行以下命令时 scala gt val rdd sc parallelize List 1 2 3 4 3 6 4 partitionBy new HashPartitioner 10 persist rdd org apache s
  • 如何在 SQL Server 中使用 RANK()

    我使用时遇到问题RANK https msdn microsoft com en us library ms176102 aspx在 SQL Server 中 这是我的代码 SELECT contendernum totals RANK O
  • 使用 Json.format 没有可用的 MyClass 隐式格式

    在 Json format 上使用复杂对象作为另一个对象的属性时出现错误 我有两节课 RoleDTO and 电子邮件邀请DTO 电子邮件邀请DTO has a RoleDTO 所以 我宣布 case class RoleDTO id Op
  • Java正则表达式匹配除

    匹配除特定字符之外的所有字符的正确语法是什么 例如我想匹配除字母之外的所有内容 A Z a z 和数字 0 9 I have string matches A Z a z 0 9 这是不正确的吗 是的 你不需要嵌套 像那样 使用这个代替 A
  • 根据情况启动docker容器

    Problem 我有一个包含 6 个服务的 docker compose yml 当我执行 docker compose up 时 所有 6 个容器都会启动 但我需要 2 个容器来最初开始工作 并根据条件休息 4 个容器 描述 组合中的 6
  • OpenCL 矩阵乘法应该更快?

    我正在尝试学习如何使 GPU 优化 OpenCL 内核 我以使用本地内存中的方形图块进行矩阵乘法为例 然而在最好的情况下 我只得到了约 10 倍的加速 约 50 Gflops 与 numpy dot 相比 5 Gflops 它使用的是 BL
  • 如何使这两个事件的代码简短

    我有以下代码 我怎样才能使它简短 以便它可以通过单击并输入来工作 这样我就不必重复它 document ready function document keypress function e if e which 13 form myfor
  • 如何将存储值分配给隐藏字段

    我有一个模型和商店 我需要为商店中的隐藏字段分配一个值 Ext define loginUser extend Ext data Model fields name id mapping Provider id name name mapp
  • 这个计算Code128条码校验位的代码正确吗?

    根据我对 Code128 条形码 与大多数其他标准条形码类型截然不同 的校验位计算的理解 我下面的代码是正确的 然而 我希望那些可能更了解 有一些经验观察 来自附着在风衣 或实验室 外套上的战壕泥的人进行 健全性检查 这是我的理解 条形码中
  • AngularJs 和 ASP.NET MVC 5 - ng-model 覆盖文本框值

    我有一个使用 ASP NET MVC 5 构建的表单 Html TextBoxFor用我的模型填充表单 例如 在表单导航或服务器端验证失败之后 我现在引入了使用 Angular 的客户端地址查找 这意味着一些表单字段现在用ng model启
  • 如何在R中的approxfun()之后根据y值输入估计x值[重复]

    这个问题在这里已经有答案了 我想用approxfun或类似的方法来估计曲线的函数 然后估计x一个点的值将被赋予一个已知的y value 这是一个简化的示例 y lt seq from 1 to 10 by 1 x lt seq from 0
  • 实体框架的审计跟踪

    我在每个表中都有审计跟踪字段 InsertedBy InsertedDate UpdatedBy 和 UpdatedDate 我构建解决方案以通过覆盖 savechange 来减少冗余 public override int SaveCha
  • 我应该把我的 Hugo 网站图标放在哪里

    我正在使用 Hugo 生成静态站点 我应该把我的favicon ico file 将图标放入静态目录中 静态目录位于hugo 站点的根目录中 当您生成网站时 网站图标将被复制到public 生成站点的根
  • 使用 ffmpeg 转换真实媒体

    我有许多旧的硬壳真实媒体文件需要转换 并希望编写一个脚本来批量处理它们 我可以使用 FFMpegX 进行 Real Media gt AVI 转换 但是当我尝试使用 ffmpeg 复制转换时 它总是会出现如下错误 avi 0x10084fa
  • 用户状态(秒差距)

    我正在使用秒差距解析一个表达式 并且我想使用秒差距中的用户状态来跟踪这些表达式中的变量 不幸的是我真的不知道该怎么做 给出以下代码 import Data Set as Set inp x y z data Var V String var
  • django 在我的机器上非常慢

    我全新安装了 django 1 0 并提供了一个简单的页面 需要 5 秒才能加载 在我同事的计算机上几乎不需要时间 我使用启动服务器 python manage py testserver 我可以看到每个 GET 请求 PNG 和样式表 大
  • NodeJS 获取承诺回调挂起

    我有这个代码 fetch url then response gt const json response json console log simplest possible fetch json json where 在控制台中我得到
  • Visual Studio 中用于在 Windows 文件资源管理器中打开解决方案的快捷方式?

    Visual Studio 当前使用2013 中是否有键盘快捷键可以在Windows文件资源管理器中打开解决方案 或项目 目前 我通常必须打开解决方案资源管理器 右键单击我的解决方案或项目 然后向下滚动到 在文件资源管理器中打开文件夹 但这
  • 如何使用 printf 自定义自定义类型的输出?

    我已经阅读了很多内容专家 F 并正在致力于构建一个实际的应用程序 在调试时 我已经习惯了传递这样的 fsi 命令 以使 repl 窗口中的内容清晰可见 fsi AddPrinter fun x myType gt myType ToStri
  • 为什么叫彩虹桌呢?

    有人知道为什么叫彩虹桌吗 刚刚记得我们已经了解到有一种称为 字典攻击 的攻击 为什么不叫字典呢 因为它包含了整个可能性的 范围 字典攻击是一种尝试可能性的暴力技术 像这样 python伪代码 mypassworddict dict for