是否可以重建加密哈希的密钥

2024-04-11

我们希望以加密方式 (SHA-256) 对数据库中的秘密值进行哈希处理。由于我们希望使用它来查找数据库中的各个记录,因此我们不能为每个加密值使用不同的随机盐。

我的问题是:如果对我们的数据库进行无限制的访问,并且攻击者至少知道一个秘密值和哈希值对,那么攻击者是否有可能对加密密钥进行逆向工程?即,攻击者是否能够反转所有哈希值并确定所有秘密值?

如果是这样的话,这似乎违背了加密哈希的全部目的,所以也许我错过了一些东西。


目前还没有发布针对 SHA-256 的“第一原像”攻击。如果没有这样的攻击来打开快捷方式,攻击者就不可能从 SHA-256 哈希中恢复秘密值。

然而,提到“秘密密钥”可能表明对哈希值有些混淆。哈希算法不使用密钥。因此,如果攻击者能够攻击一个“秘密值-哈希值”对,他就不会学到一个“密钥”,从而使他能够轻松反转其余哈希值。

当哈希被成功攻击时,通常是因为原始消息来自一个小空间。例如,大多数密码都是从相对较短的真实单词列表中选择的,可能还进行了一些简单的排列。因此,攻击者不是系统地测试每个可能的密码,而是从数十亿个最常见密码的有序列表开始。为了避免这种情况,从大空间中随机选择“秘密值”很重要。

有一些消息身份验证算法将密钥与一些数据散列在一起。这些算法用于保护消息的完整性免遭篡改。但它们无助于阻止原像攻击。

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

是否可以重建加密哈希的密钥 的相关文章

  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 支持 API 28(Android Pie) 上的 Android StrongBox 的 Android 智能手机列表

    我需要 Android 9 中支持安全元件和 StrongBox 的 Android 手机列表 在哪里或如何找到该列表 我在 Samsung Galaxy S9 和 AVD Google Pixel XL API 28 上尝试了下面的代码
  • 使用 CreateRestrictedToken(LUA_TOKEN) 从提升的进程创建低/中进程

    我正在尝试从提升的进程创建中或低完整性进程 我知道还有其他类似的问题 但它们主要关注使用资源管理器或任务计划程序等解决方法 我想坚持使用CreateRestrictedToken CreateProcessAsUser 我认为一定可以以某种
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • 是否有一种加密技术可以将 8 位数字变成 10 或 11 位或更少的数字?

    我见过的许多加密技术都可以轻松加密一个简单的 8 位数字 如 12345678 但结果通常是 8745b34097af8bc9de087e98deb8707aac8797d097f 编造的 但你明白了 有没有办法加密这个 8 位数字 但生成
  • 客户端登录 - 如何在客户端安全地存储凭据?

    许多 API 都提供通过用户 密码组合远程访问其数据的功能 我想知道存储这些值的最佳方式是什么 高度安全的方式 即使 100 是不可能的 以便直接连接它们而无需每次都询问这些值 我推荐以下三种方法之一 使用身份验证令牌完全避免存储密码 在此
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private
  • 在 ASP.NET 中加密 cookie

    我想在 ASP NET 中加密 cookie 我已关注本文的方法 http www codeproject com KB web security HttpSecureCookie aspx 但它有一个缺点 那就是在内部方法上使用反射 这导
  • PHP - hash_pbkdf2 函数

    我正在尝试使用此 php 函数执行一个函数来哈希密码 http be php net manual en function hash pbkdf2 php http be php net manual en function hash pb
  • 访问被拒绝(“java.io.FilePermission”“执行”)

    我是初学者 这是我写的第一个小程序 我想用小程序运行 exe 应用程序 java代码 package appletexample import java io import java awt import java applet Apple
  • 使用内联样式有哪些风险?

    A 内容安全政策 https developer mozilla org en US docs Web HTTP CSP with a default src or style src指令将阻止内联样式应用于
  • 逐行加密/解密文件?

    我对加密还很陌生 我正在尝试让逐行加密器工作 我需要能够在应用程序运行期间将加密行附加到文件中 而不仅仅是一大堆加密所有内容并保存 不过我玩得很开心 这是我的加密器 在我自己多次尝试失败后被无耻地窃取 class Encryption pr
  • 从 HTTPS 重定向到 HTTP 的安全问题?

    我在一些博客上读过 抱歉没有提及参考资料 但我找不到了 如果您将用户从 https 页面重定向到 http 页面 您将失去保护网站安全的所有工作 那么 有人可以向我解释一下在以下情况下我是对还是错 在登录页面上使用 https 然后使用 h
  • 在 JavaScript 中混淆和反混淆字符串的最简单方法

    我正在寻找一种在 JavaScript 中混淆和反混淆字符串的方法 我的意思是当安全性不是问题时的加密和解密 理想情况下是 JS 原生的东西 比如base64 encode and base64 decode 在 PHP 中 可以 将字符串
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 使用 AES 解密时输入数据不是完整的块

    我正在尝试加密来自 oracle 的数据 然后使用 C 解密它 到目前为止 我设法编写了一个在 C 和 Oracle 中加密数据的代码 并且得到了匹配的结果 我试图用 C 解密数据 但收到错误 输入数据不是一个完整的块 甲骨文加密 SELE
  • 任何第三方都可以从我的项目加载嵌入式资源吗?

    请参考我的一篇之前的问题 https stackoverflow com questions 14681364 issues passing data from dll to application 我问的是如何从 DLL 加载已编译的资源
  • 如何在 Perl 脚本中加密或隐藏密码?

    我正在研究 Perl 脚本 它使用Expect http search cpan org dist Expect通过 telnet 登录到远程计算机 不要问 必须使用 telnet 我还根据需要执行 perforce p4 登录操作 并使用
  • FormsAuthentication:安全吗?

    Using 表单验证构建成asp net创建一个为经过身份验证的用户创建 cookie 的登录系统非常快速且简单 FormsAuthentication SetAuthCookie uniqueUsername false 与中的一些代码配

随机推荐

  • 在 React 中逐个字母地“打印”字符串

    我有一个 React Native 组件 需要显示一个带有逐个字母打印的字符串字母的动画 因此 从逻辑上讲 我需要在循环内更新 React 状态挂钩 以 1 秒的间隔将字符串的每个字符附加到其中 到目前为止我所拥有的是 let placeh
  • 在android中以编程方式覆盖文本转语音设置中的“始终使用我的设置”选项

    某些平板电脑具有覆盖应用程序文本转语音设置的选项 名为 文本转语音设置中的 始终使用我的设置 如果选中此选项 则 TTS 引擎将选取 TTS 的用户设置 而不是特定于应用程序的设置 我的要求是 每当我的应用程序使用 TTS 引擎时 应始终使
  • Hibernate + Informix + Blob + 字节数组

    我在将字节数组保存到 Informix 数据库时遇到问题 我将向您展示我是如何尝试的 在 Fichero java 中 我有以下内容 Column name fichero columnDefinition blob private byt
  • 今天 iPad 的扩展高度比指定的要大得多

    我的今日扩展需要根据小部件显示的内容具有动态高度 我可以通过在最底部元素上添加约束来实现此目的 底部布局指南的顶部小于或等于最底部元素的底部 常数为 0 优先级为 999 乘数为 1 这与 iPhone 上的预期完全一样 小部件高度适合所有
  • 舍入到列表中最接近的任意数字

    我基本上是在寻找一种方法来做一些变化这个 Ruby 脚本 https stackoverflow com questions 3160502 ruby round number down to nearest number based on
  • Meteor 如何访问服务器端和客户端的 Facebook Graph Api

    脸书账户 https atmospherejs com meteor accounts facebook包仅提供登录和注销功能 流星fbgraph https github com stevezhu meteor fbgraph允许访问服务
  • Rails 3 和嵌套 jQuery 文件上传模型

    有没有人有关于使用嵌套属性让 jQuery 文件上传插件与 Rails 一起使用的建议 示例 我的模型 has many 附件并接受必要的嵌套属性 我想让它与 jQuery 文件上传一起使用 但还没有找到任何好的例子来帮助我开始 有没有人取
  • 带有 varargs 的 Julia @evalpoly 宏

    我正在尝试使用 Julia 的 evalpoly宏 当我手动提供系数时它可以工作 但我一直无法弄清楚如何通过数组提供这些系数 julia gt VERSION v 0 3 5 julia gt evalpoly 0 5 1 2 3 4 3
  • 几何着色器中的宽线表现得很奇怪

    我正在尝试使用几何着色器渲染任意宽线 在屏幕空间中 乍一看似乎一切都很好 但在某些视图位置上 线条渲染不正确 左侧图像呈现正确的渲染 正 X Y 和 Z 轴上的三条线 2 像素宽 当相机移动到原点附近 实际上靠近线条 时 线条会像正确的图像
  • Facebook 画布应用程序与 Facebook 移动网络应用程序

    我对 facebook 画布应用程序和 facebook 移动网络应用程序之间的区别有点困惑 这是我困惑的背景 我有一个画布应用程序 让我们将其命名空间称为 myfbapp 我基本上可以从https apps facebook com my
  • 返回匹配的逻辑向量:支持正则表达式吗?

    我想为字符向量上的正则表达式匹配返回一个逻辑向量 但 match 或 in 似乎不支持正则表达式 例如 gt x lt c Bill Brett Jane gt grep B x 1 1 2 gt x in B 1 FALSE FALSE
  • 奇怪的 jQuery Mobile listview 没有完全刷新

    我有一个 jQuery Mobile 列表视图不刷新的问题 但仅在一个极其特殊的实例中 当我在 Android 手机 特别是 Google Nexus 上测试我的应用程序时 会出现此问题 当我的列表视图从视图 1 正确加载到视图 2 后 就
  • 在 Angular 2 + Immutable.js 中迭代(使用 *ngFor)

    我正在使用 Angular 2 和 Immutable JS 但我似乎无法在我的模板中使用简单的 for 循环 真是令人沮丧 我尝试了以下旧语法 基于教程 div class filter row div class row title f
  • CA2W 给了我一个“'AtlThrowLastWin32':找不到标识符”错误

    当我遵循以下命令时 我遇到了一个奇怪的编译错误MSDN文档 http msdn microsoft com en us library 87zae4a3 VS 80 aspx在 Visual Studio 2005 中使用 CA2W 将 b
  • 如何在 django 中分离出我的模型?

    我正在尝试学习 python django 现在 我的所有模型都在 models py 中 是否可以分解我的模型 以便我可以在单独的模型文件夹中为每个模型创建一个文件 以便我可以执行以下操作 myproject myapp models u
  • Angular2 中的 OnPushObserve 和 OnPush 有什么区别?

    Angular2 中的 OnPushObserve 和 OnPush 有什么区别 我了解 onPush 策略和 Observables 的所有信息 但想知道这两者之间的区别 也许 ng2 dev 可以分享更多信息 文档似乎已经过时 http
  • 如何访问unittest.TestCase中的unittest.main(verbosity)设置

    根据文档 我可以在调用时设置 python 单元测试的详细级别unittest main e g unittest main verbosity 2 我怎样才能在一段时间内访问这些信息unittest TestCase 任何基于修补或子类化
  • 如何同步运行在不同服务器上的不同数据库(MYSQL)的两个表之间的数据

    我有 2 个不同的 mysql 数据库 旧的和新的 在不同的服务器上运行 旧数据库有大约 10 个表 我想同步其中的 3 个表数据库新表 因此 如果这 3 个表上发生任何添加 删除 更新 那么这些条目应该在数据库 NEW 上更新 我已经使用
  • 从所有 Outlook 联系人文件夹中获取联系人 Microsoft Graph

    我正在使用 Microsoft Graph 使用以下代码检索联系人文件夹 GraphServiceClient client new GraphServiceClient new DelegateAuthenticationProvider
  • 是否可以重建加密哈希的密钥

    我们希望以加密方式 SHA 256 对数据库中的秘密值进行哈希处理 由于我们希望使用它来查找数据库中的各个记录 因此我们不能为每个加密值使用不同的随机盐 我的问题是 如果对我们的数据库进行无限制的访问 并且攻击者至少知道一个秘密值和哈希值对