encryption - 使用变量函数创建哈希值
问题描述
我很好奇是否可以从 MD5 或 SHA 算法创建 HASH 值,这样如果攻击者拥有填充的 HASH 表并访问我的 HASH 值,他们将无法猜测原始值。我的意思是,如果有人在字典单词上使用 MD5 或 SHA 算法填充 TABLE,我是否可以运行或生成带有可变参数的 HASH,以便攻击者无法像他们那样使用预填充的 HASH 表猜测用于以不同方式生成 HASH 的变量。
例如:
生成 MD5 "OriginalText1" ---> FD823lF8lGSLJlDFDF....
生成 MD5 -variance 10000 "OriginalText1" ---> SLJDFLDSKJ3243243D....
我不是要求特定于平台的答案,但如果您碰巧为 Linux 或 Python 提供了答案,我将不胜感激。非常感谢。
解决方案
你可能想看看盐渍
简短说明:您存储一个额外的随机字符串并将您的“OriginalText1”与它连接 - >“OriginalText1RANDOM”。然后您的哈希函数将连接的版本作为输入。
优势:
- 几乎不可能使用 Rainbow Table
坏处:
- 您需要存储更多数据
推荐阅读
- angular - “Renderer2”类型上不存在属性“projectNodes”
- android - Android KeyEvent.getCharacters() 或 keyEvent.characters 已弃用
- java - 如何从用 Java 编写的 Azure Function App 连接到 PostgreSQL?
- sql - Oracle中的正则表达式-每5个字符后放置一个字符串
- javascript - TypeError:class.function 不是函数。(在 'classname.function(param)' 中)
- php - 基本匿名用户评级系统 - 不工作
- asp.net-core-mvc - Blazor Hub 未跨整个 MVC 应用程序连接
- sql-server - 将 DTS 变量传递给带有 DTEXEC 的 SSIS 2008 包
- asp.net-core - 在 .Net core 3 和 blazor 中捆绑 css 和 js
- javascript - RXJS RetryWhen - 在尝试重试时继续下游错误