问题标签 [sha2]
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.
c# - C# 中带有 Sha2 的 Rfc2898DeriveBytes
我有一个基于 Rfc2898DeriveBytes 的密码散列机制(基于此处详述的代码:http://crackstation.net/hashing-security.htm )。在内部,此类使用 SHA1,CrackStation 链接确实表明 SHA1 是“旧的”,但也指出,尽管 Rfc2898DeriveBytes 在内部使用它,但 Rfc2898DeriveBytes 仍然是一个很好的机制。
我的一个客户的安全部门听说“SHA1 已被攻破”(具体来说,为了签署文件以通过 Internet 传输,SHA1 在某些情况下已被击败 - 事实上,这种“漏洞" 不适用于密码哈希对安全部门无关紧要)。因此,他们要求我们更改密码散列机制以使用 SHA2。
目前,.Net 框架没有在内部使用 SHA2(或 SHA256 等)的 Rfc2898DeriveBytes 等效项。我知道我可以使用反射来获取此类的源代码并对其进行更改,但我一直被告知加密的第一条规则是“不要自己开发”。
这主要是我的客户的政治需求,而不是技术需求,可以通过在通过 Rfc2898DeriveBytes 运行密码之前通过 SHA2 哈希运行密码来轻松满足。但是,我对密码学的了解不足,无法知道这是否可能是坏事——实际上可能会导致客观上不太安全的密码哈希。
有谁知道使用 SHA2 的 Rfc2898DeriveBytes 等效类?或者,有谁知道在 Rfc2898DeriveBytes 之前通过 SHA2 哈希运行密码是否完全安全?
encryption - OpenLDAP 上的加密密码算法
关于 OpenLDAP 的问题。我在哪里可以找到有关上一个版本 (2.4.35) 上 OpenLDAP 支持的密码加密算法的一些信息?
c - 在 SHA-2 算法中将 long 转换为 unsigned char
在 InChi 库(可在此处获得: http: //www.iupac.org/home/publications/e-resources/inchi.html)有一个自定义的 SHA-2 算法实现(实现,不是算法)我是试图理解。特别是一小段代码确实令人困惑:
此宏在此上下文中使用:
问题是总被定义为一个表long
:
所以现在,如果 total 保存了处理的字节数,它很可能total[0]
会大于 256(这可能是它被定义为的原因long
),所以我不知道在宏中强制long
转换它会有什么影响?那会得到第 x 个字节或最后一个字节还是?unsigned char
PUT_UINT32_BE
total[0] % 256
hash - 是否有任何通常被认为值得信赖的 SHA-256 javascript 实现?
我正在为论坛编写登录名,并且需要在将密码发送到服务器之前在 javascript 中对客户端密码进行哈希处理。我无法确定我真正可以信任的 SHA-256 实现。我期待有某种权威脚本,每个人都使用,但我发现大量不同的项目都有自己的实现。
我意识到使用其他人的加密货币总是一种信仰的飞跃,除非你有资格自己审查它,而且“值得信赖”没有普遍的定义,但这似乎是一件很普遍和重要的事情,应该有某种就使用什么达成共识。我只是天真吗?
编辑,因为它在评论中出现了很多:是的,我们再次在服务器端进行更严格的哈希。客户端散列不是我们保存在数据库中的最终结果。客户端散列是因为人类客户端请求它。他们没有给出具体原因,可能他们只是喜欢矫枉过正。
security - SHA-2 哈希是否使用密钥?
根据个人知识,我知道 SHA-2 哈希是不可逆的,并且不使用密钥。
但是我认识的一个人非常自信地反驳了上述内容,我现在很困惑,无法通过谷歌搜索找到我想要的答案。
任何人都可以在这个问题上澄清我吗?
谢谢
oracle - 在 blob 表的触发器中计算 blob 哈希
我的环境是Oracle 11g。我有一个表 T_IMG,其列是图像 blob、图像标识符和计算为 SHA256 的图像哈希。我希望每次在 T_IMG 表中插入或更新一行时计算图像哈希并将其插入到 T_IMG 表中。为此,我在 T_IMG 表上插入或更新时使用了 before 触发器,但我很难访问触发器内的图像 blob 列。
字符串和 blob 的 SHA256 哈希由以下代码计算,该代码基于 Sean Stuber 在http://seanstuber.wordpress.com/2012/03/22/using-java-to-extend-dbms_crypto/上的示例
上述功能有效。测试它们我得到:
SHA2_STRING('0123456789',256)
------------------------------------------ -------------------------------------- 84D89877F0D4041EFB6BF91A16F0248F2FD573E6AF05C19F96BEDB9F882F7882
选择了 1 行。SHA2_BLOB(UTL_RAW.CAST_TO_RAW('0123456789'),256)
------------------------- ------------------------------------------------------- 84D89877F0D4041EFB6BF91A16F0248F2FD573E6AF05C19F96BEDB9F882F7882
选择了 1 行。
我在 T_IMG 上插入或更新时使用前触发器来计算图像列的 SH256 散列。
触发器本身起作用;当它抛出以下错误时,它计算并在模型数据(制造的字符串或 blob)上插入哈希值,而不是在真实图像 blob 数据上:
ORA-29532:Java 调用因未捕获的 Java 异常而终止:java.sql.SQLException:无效的空 lob 操作
ORA-06512:在“TEST.SHA2_BLOB”,第 1 行
ORA-06512:在“TEST.TR_IMG_UPSERT”,第 13 行
ORA- 04088:执行触发器“TEST.TR_IMG_UPSERT”时出错
似乎触发器将 :new.IMG 数据读取为空 blob。
为什么会发生这种情况,我该如何解决每次在 T_IMG 表中插入或更新一行时自动计算并将图像的哈希插入到 T_IMG 表中的问题?
注意:插入/更新数据行的客户端应用程序无法提供哈希值。
阿迪姆
wcf - Netbeans java Web 服务客户端使用带有 algorithmSuite Basic256Sha256 的消息安全性使用 WCF 服务
我有一个具有消息安全性的 WCF Web 服务,并通过使用 Metro (WSIT+jaxws) 的项目使用 Netbeans 创建的 Java Web 应用程序使用它。使用标准 algorithmSuite Basic256 一切正常,但是当我使用服务要求的 Basic256Sha256 时,我收到运行时错误,提示“SOAPFaultException:验证消息安全性时发生错误。”。当我查看服务日志时,它显示“算法套件 Basic256Sha256 不接受算法‘ http://www.w3.org/2000/09/xmldsig#hmac-sha1 ’操作‘SymmetricSignature’。”。问题是我如何将客户端更改为使用 SHA2 (Sha256)。我使用证书作为客户端凭据类型。
WCF 绑定:
c# - 需要在 c# 中创建一个 SHA2 哈希
我使用 Vircurex API 编写了一个用于交易电子货币的小程序。他们的文档使用 Ruby 代码示例,我不确定 C# 中的等价物是什么。对于任何感兴趣的人,这里列出了他们的文档:
https://vircurex.com/welcome/api
我不断收到 8003 - 身份验证失败,我想这意味着我发送了不正确的 SHA2 哈希。他们写道:
“跨多个输入值的 SHA2 哈希。有关如何计算它的详细信息,请参见下文”
我在 c# 中有以下代码:
我试图在在线 irb 中对其进行测试
http://tryruby.org/levels/1/challenges/0
为了查看 Digest::SHA2.hexdigest(".......") 方法会生成什么哈希,但我得到了一个
所以基本上我不知道它是否是一个不正确的哈希值,但我认为它是。我希望能够在 Ruby 中对其进行测试,如果 C# 方法生成哈希的方式出现错误,我也希望能提供任何帮助。
perl - Perl 将多个文件中的 MD5 / SHA2 总和组合成一个 MD5 / SHA2 总和
下面是递归生成目录或子目录下单个文件的 MD5 / SHA2 和的代码。
上面代码的输出如下所示。
更新了代码以支持 sha256sum 生成。
现在我想从这些 MD5 / SHA2 和作为输入生成一个组合的 MD5 / SHA2 和。
mysql - MySQL SHA2 函数似乎不起作用
我正在使用 MySql 5.5.32 并尝试在我们在业务层中拥有的存储过程中重现一些代码,以便我可以为使用sql
. 不过,SHA2 函数似乎有问题,但也许我遗漏了一些东西:
返回 128。不应该是 64 吗?
它返回 64,因此看来要么我遗漏了某些东西,要么 SHA2 中存在错误。有任何想法吗?