问题标签 [sha256]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iPhone 的 Objective-C 中的 Sha256
当我使用此代码创建字符串的 sha256
它正确返回散列,但我需要插入这样的字符串\x00\x25\x53,在这种情况下,函数返回空字符串的 sha256,因为指定的编码不能用于转换接收器。
现在,我的问题是:如何插入这个特殊字符来生成正确的哈希?谢谢
python - 使用 M2Crypto 在 Python 2.4 中生成 SHA-256 哈希
是否可以使用 M2Crypto 生成 SHA-256 哈希?Python 2.4 的 SHA 模块不支持 256,所以我开始使用 PyCrypto,结果发现 PyCrypto 不支持 PKCS#5(在我的项目的其他地方需要。)结果我切换到 M2Crypto,现在我会喜欢用等效的 M2Crypto 替换我的 PyCrypto SHA-256 调用...我尝试查看单元测试,但什么也没看到。
md5 - 哈希(md5,sha1)的任何子字符串是否比另一个更“随机”?
这是 3 个示例 md5 哈希
假设我想从任何哈希中提取 8 个字符。哈希的开头部分是否比结尾更“随机”?中间?还是所有子字符串都同样“随机”?
java - 似乎无法从 Java 中的 SHA256 摘要生成十六进制编码字符串
似乎无法弄清楚我在这里出错的地方:
我得到如下字符串:
")469.76F5941+31E25)6,9,C26)978)4*917180A4C(B7C,E,D+6,7133C705167"
显然不是十六进制!
问题:
- 哈希生成代码是否正确?
- 十六进制编码方法是否正确?
- 我在编码方面遗漏了什么吗?
javascript - SHA-256 密码生成器
我看到了 sha-256 的 javascript 实现。我想问使用 sha-256(使用 javascript 实现或 python 标准模块)算法作为密码生成器是否安全(优点/缺点):
我记得一个密码,把它放在网站地址后面(等),并使用生成的文本作为该网站的密码。每次我需要与其他网站相同的密码时重复该过程
ruby - Ruby 和 SHA256 - MacOS 和 Windows 之间的区别?
我用 Ruby(在 MacOS 上)编写了这个小测试脚本:
哪些输出(在 MacOS 上):
然后我在 Windows XP 中运行完全相同的脚本:
谁能告诉我这里有什么问题?
cryptography - Windows CryptoAPI:带有 CALG_SHA_256 的 CryptSignHash 和来自 MY 密钥库的私钥
我正在尝试使用与以下 openssl 命令兼容的 CryptoAPI 在 Windows(来自 XP SP3,但目前正在使用 Windows 7 测试)上生成数字签名:
我想使用 Windows“MY”密钥库中的私钥进行签名。
我设法通过使用以下 CryptoAPI 函数(为简洁起见省略参数)使用 SHA1 摘要算法对文件进行签名:
生成的签名与“openssl dgst -sha1 -verify”兼容(一旦字节顺序颠倒)。
我的问题是:当我尝试将 CALG_SHA_256 与 CryptCreateHash 一起使用时,它失败并出现错误 80090008 (NTE_BAD_ALGID)。通过谷歌搜索,我发现我需要使用特定的提供程序 (PROV_RSA_AES) 而不是默认的提供程序。因为我有一个提供者句柄,所以我还需要用 CryptGetUserKey 替换 CryptAcquireCertificatePrivateKey。所以我修改了我的程序看起来像:
不幸的是,这没有按预期工作:CryptGetUserKey 失败并出现错误 8009000D (NTE_NO_KEY)。如果我删除 CryptGetUserKey 调用,程序会一直运行到 CryptSignHash,它会失败并出现错误 80090016 (NTE_BAD_KEYSET)。我知道密钥集确实存在并且工作正常,因为我能够使用它来签署 SHA1 摘要。
我尝试使用从 CertFindCertificateInStore 获得的证书上下文中的信息再次获取上下文:我能做的最好的事情就是成功调用 CryptGetUserKey,但 CryptSignHash 总是会失败并出现相同的错误。
我尝试使用的私钥是 2048 位长,但我不认为它会成为问题,因为它适用于 SHA1 摘要。我很茫然,所以任何建议都会非常受欢迎!
hash - 防止对有限值集的原像攻击
我询问了对社会安全号码的哈希进行原像攻击的成本。我得到的最佳答案是,社会安全号码的类型只有 366,000,000 个哈希值,这很容易进行原像攻击。
我现在的问题是是否有可能完全避免原像攻击。我的场景是多个客户需要将社会安全号码存储在中央服务器上。散列必须在客户端之间保持一致。客户端可以与在线网络服务进行通信。
c# - 使用 MD5 或 sha-256 C# 散列密码
我正在为一个应用程序编写一个注册表单,但仍然遇到 C# 新手的问题。
我正在寻找加密/散列密码到 md5 或 sha-256,最好是 sha-256。
有什么好的例子吗?我希望它能够从“字符串密码”中获取信息;然后对其进行哈希处理并存储在变量“string hPassword;”中。有任何想法吗?
c# - 截断字节数组与子串化来自 SHA-256 的编码字符串
我不熟悉散列算法以及使用它们时相关的风险,因此对我在上一个问题中收到的以下答案有疑问。. .
基于哈希值在编码为 ASCII 时必须适合 16 个 ASCI 字符的注释,解决方案是首先选择一些加密哈希函数(SHA-2 系列包括 SHA-256、SHA-384 和 SHA- 512)然后,将所选散列函数的输出截断为 96 位(12 个字节)——即保留散列函数输出的前 12 个字节并丢弃剩余的字节,然后对截断的输出进行 base-64 编码到 16 个 ASCII 字符(128 位),有效地产生 96 位强加密散列。
如果我将 base-64 编码的字符串子串为 16 个字符,那么保留散列函数的前 12 个字节,然后对它们进行 base-64 编码,这是根本不同的吗?如果是这样,有人可以解释(提供示例代码)截断字节数组吗?
我针对 36,000 多个不同的值测试了完整哈希值的子字符串,并且没有发生冲突。下面的代码是我当前的实现。
感谢您提供的任何帮助(和清晰度)。
[原帖] (http://stackoverflow.com/questions/4340471/is-there-a-hash-algorithm-that-produces-a-hash-size-of-64-bits-in-c)