- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看不出有什么方法可以对 MD5.ComputeHash(Stream) 加盐。我是否缺少将字节注入(inject) HashAlgorithm 的某种方法?
我尝试在执行流计算之前执行 ComputeHash(byte[]),但不出所料,它没有任何效果。有什么想法(除了修改文件)吗?
感谢您的宝贵时间。
附录更具体一点,我想使用流来获取我不想加载到内存中的大文件的哈希值。
FileInfo myFI= new FileInfo("bigfile.dat");
FileStream myIFS = piFile.OpenRead();
MD5 md5 = MD5.Create();
byte[] hash = md5.ComputeHash ( myIFS );
myIFS.Close ();
最佳答案
我认为缺乏示例的答案是:您真的不需要加盐。
像 MD5 这样的散列算法将任意长度的字节表转换为已知长度的字节表——该操作不容易逆向,输入表的微小变化会导致输出表发生不可预测的变化:
输入 => MD5 => 输出
加盐的目的是防止用户已经预先计算哈希结果表 (rainbow tables) 的攻击。通过在输入中引入微小的变化,结果会发生巨大变化,因此即使攻击者知道哈希结果和盐值,也很难猜出输入:
输入 + 盐 => MD5 => 输出
散列文件的原因是计算校验和。例如。您在网页上发布一个文件以及哈希结果。然后用户下载一个文件,通过 MD5 运行它并将结果与您发布的结果进行比较。很难篡改文件,因为每次操作都会更改生成的哈希值。
这里不需要加盐,因为您必须将盐与生成的散列一起发布,以便用户可以重复散列操作。
如果你真的需要引入加盐,只需以可重复的方式改变输入流,例如每个字节加一(有溢出)。
关于c# - 在流上加盐 C# MD5 ComputeHash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/878837/
我正在阅读有关如何对 key 进行加盐以使您的加密安全的教程,但无法充分利用它。我不太了解密码学,需要一些帮助。我正在使用 commoncrypto 来加密文件,并且完成了,除了它不安全的事实....
我是一个加密新手,但需要在存储到数据库之前对敏感的个人数据进行加密。我计划将 AES 与 CBC 结合使用,但也想使用盐。然而,我找不到一种方法来做到这一点(除了 BouncyCaSTLe,我的主机由
升级到 php7 后,BCryptPasswordEncoder 抛出以下错误,例如在使用 FOSUserBundle 标准注册页面注册时: "Use of the 'salt' option to
这个简单的代码接受用户输入并将给定字符串的 sha256 打印到标准输出。 #include #include #include #include int main() { SHA256_C
我想知道以下设置的严重问题是什么: 用户名/密码登录方案Javascript/ajax 从服务器请求盐值(我们在前面的问题中已经确定盐不是 secret 值)Javascript 对密码和盐执行 SH
我一直在 ruby 应用程序中创建加盐密码,我认为这是标准方式: password_salt = BCrypt::Engine.generate_salt password_hash = BCry
我听说过有人在使用这种方法,想知道这意味着什么。我只是知道这是个坏主意! 据我所知,在将哈希存储到数据库之前对密码进行加盐处理的主要目的是使每个哈希算法都独一无二,因此在尝试破解它时需要为每个用户提供
我需要编码/加密数据库 ID 并将它们附加到我的 URL。安全性不是我要处理的问题,但我正在寻找具有适度安全性的东西。主要目标是拥有唯一且 URL 安全的短 ID。 下面的代码片段似乎可以满足我的需要
〇、前言 了解行业术语是一个程序猿的基本素养,只有更深入的了解才能与其他人畅快沟通,下面来简单汇总下,会持续更新。 欢迎评论区补充,博主会逐个加入后续文章。 1、“没有银弹” 从字面意思来看
我正在使用 RC4 C++ 程序进行更多工作,以与命令行参数兼容。 我想知道是否有人可以指出一些关于命令行 openssl rc4 在加密和解密时如何使用盐的体面文档的方向,这样我就可以在我的程序中加
我有一个字符串需要在 C# 中使用 salt 进行哈希处理并匹配它在 PHP 中的结果。 C#代码如下: string stringToHash = "123"; st
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: Secure hash and salt for PHP passwords 我在 stackoverflow
我有一个项目,显然该软件的设计者没有考虑安全性。 密码以明文形式存储并通过明文传输。所以我剩下的任务就是解决这个问题。 我对安全性有点生疏,所以我的问题是:对于在线用户密码身份验证,使用散列/加盐技术
盐的新手,我添加了第一个服务器(wx-1),它可以工作,但是当我添加不同的服务器时,test.ping 没问题,但是当执行 salt 'qing' state.highstate 时,失败,错误信息为
我使用此 openssl 命令创建了一条加密消息: openssl enc -aes-256-cbc -salt -in plaintext.txt -out cipher.enc 我尝试过 Cryp
我正在对许多列执行联接,这些列有时可能包含数十亿行空值,因此我想对列加盐以防止联接后出现倾斜,如 Jason Evan 的帖子中提到的:https://stackoverflow.com/a/4339
我是一名优秀的程序员,十分优秀!