问题标签 [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.

0 投票
4 回答
262 浏览

php - 密码迁移 - Drupal SHA2 到 PHP MD5 版本

众所周知,Drupal 使用 SHA2 方法存储密码,其中涉及加密 + 哈希 + 盐。

我有一个密码列表,我的一些客户目前在 Drupal 中使用这些密码。由于我们已将整个系统迁移到自定义 PHP,因此我们无法使用相同的密码。而且我们真的不想要求数据库中的每个人都生成新密码。

如果有任何方法,我们可以更改 SHA2(Drupal - 512 加密)中的所有密码以支持我们当前具有 MD5/SHA1(PHP Mysql 数据库)的新系统。

任何帮助,将不胜感激。

0 投票
0 回答
475 浏览

.net - 更改函数以使用 SHA256 散列而不是 SHA1 散列

有人可以帮我解决以下问题吗?我有以下功能可以正常工作

代码中有两个地方引用了 SHA1

我想切换到 SHA256,尽管上面分类的 .NET 都支持 SHA256,但它会引发以下错误是我将粗体文本从 SHA1 单独更改为 SHA256

任何帮助都欢迎厄尼

0 投票
0 回答
538 浏览

ssl - Domino 9.0.1 上的新 SHA-2 证书密钥未加载

我的旧 Live 系统(Domino 8.5.3 / Windows 2003)不在 DMZ 上,需要升级到 SHA-2 证书。因此,我们还在 DMZ (Domino 9.0.1 FP6 / Windows 2008) 框中构建了一个新的测试服务器以将站点移动到。

我从 Test 9.0.1 文件夹顶部的 Live 复制了整个 Data 目录,以包含所有数据库和 jQuery 文件等...

然后我按照以下程序创建新证书:

https://www-10.lotus.com/ldd/dominowiki.nsf/dx/3rd_Party_SHA-2_with_OpenSSL_and_kyrtool?open

我使用该程序生成了一个新的 CSR,我们将其发送给 GoDaddy,让他们为新的测试系统重新设置 SHA-2。

他们返回到 CRT 文件。

1) gd_bundle-g2-g1.crt - 我相信它拥有根证书和中间证书。但是,我只在其中找到了两个证书。

2) 8e0702e83bd035e9.crt - 这有站点证书

我提取了两个 GoDaddy 证书:godaddy_root_Base64_x509.cer GoDaddy_Secure_CA-G2_Base64_X509.cer

然后使用以下命令将它们连接在一起:输入 server.key 8e0702e83bd035e9.crt GoDaddy_Secure_CA-G2_Base64_X509.cer godaddy_root_Base64_x509.cer > hbcln04_server.txt

我遵循了上述过程中的所有步骤。唯一的区别是程序显示了 2 个中间证书,但 GoDaddy 只给我发了一个。

但是,我能够按照程序所述验证密钥和证书。

过程中没有错误。

我将新的 kyr 文件与其他文件一起放在 Data 目录中,然后转到网站文档并将那里的引用更改为新的 kyr 文件名。

请注意,这是一个网站文档,而不是服务器文档。

我什至去了服务器文档并按照程序禁用和启用网站文档,以防 Keyring.kyr 文件的路径损坏。

但是,由于新的测试盒位于 DMZ 中,因此很难进行测试。

因此,我修改了服务器主机文件以将证书域映射回同一个框。(否则 DNS 会继续将其带回 Live 系统。)

关于将域映射到测试框的 IP 是否适用于 HTTPS 存在一个问题。但是,我不明白为什么不这样做。

但是无论我做什么,我都无法获得证书。

我输入了该站点的 URL,如果它是 HTTP,它就可以工作,但是当我更改它的 HTTPS 时,我得到了这个:

此页面无法显示

  • 列表项 确保网址 https:_Link_to_site 正确。
  • 列表项 使用搜索引擎查找页面。
  • 列表项 几分钟后刷新页面。

然后我刷新页面,我得到了这个:

此页面无法显示

在高级设置中打开 TLS 1.0、TLS 1.1 和 TLS 1.2,然后尝试再次连接到 https:_Link_to_site。如果此错误仍然存​​在,则该站点可能使用了不受支持的协议或密码套件,例如 RC4(详细信息的链接),这被认为是不安全的。请联系您的站点管理员。

不幸的是,我是网站管理员!

我看到的唯一与该程序不同的是:1)我只有 1 个中间证书,而不是示例中的 2 个。2)我正在使用主机文件将域映射到服务器,因此它不遵循通常的 DNS。

另请注意,日志中没有错误。我们确实有一些关于访问密钥文件的内容。kyr 文件很好,但是 sth 文件的访问权限受到限制。这已经得到纠正。

目前,我什至不知道在哪里寻找错误或打开什么来查看错误。

似乎证书没有加载。

请帮忙。

0 投票
1 回答
317 浏览

ssl - SHA2 和 TLS1 / SSL3

我有一个 Web 服务,目前由各种使用 SHA1 证书的 TLS1.0/SSl3 协议的旧 .Net 和 Java 客户端使用。

如果我将证书更改为 SHA2,这些客户端仍然可以工作吗?

我没有更改服务器上的其他配置(即不禁用 TLS1 /SS3)。

当我可以让客户端升级以使用 TLS1.2 时,我会加班。

0 投票
1 回答
3762 浏览

java - PBEWITHHMACSHA256ANDAES_256 加密抛出 EncryptionOperationNotPossibleException

我想使用该PBEWITHHMACSHA256ANDAES_256算法,但不支持。我已将充气城堡提供程序添加到我的测试中,希望它能够工作但无济于事。谁能告诉我如何修复下面PBEWITHHMACSHA256ANDAES添加到Supported列表中的测试?

输出:

* 编辑 *

@EbbeMPedersen 建议该算法由 SunJCE 提供,但我可以看到使用以下代码启用了 SunJCE 提供程序

输出

0 投票
2 回答
2758 浏览

java - 如何使用 JCE 的 PBEWITHHMACSHA256ANDAES_256 算法

我想在 Java8中使用SunJCE 提供程序PBEWITHHMACSHA256ANDAES_256的算法。

看起来罐子和所有配置在 Java8 中都是开箱即用的,但我无法使用该PBEWITHHMACSHA256ANDAES_256算法。

我有这两个罐子:

里面有这个条目jdk1.8.0_40\jre\lib\security\java.security

里面有这个条目jdk1.8.0_40\jre\lib\security\java.policy

我打电话时可以com.sun.crypto.provider.SunJCE在数组中看到Security.getProviders()

但是下面的代码抛出EncryptionOperationNotPossibleException

例外

为什么 PBEWITHHMACSHA256ANDAES_256 会抛出 EncryptionOperationNotPossibleException 的任何想法?

0 投票
2 回答
1890 浏览

security - 使用 [SHA1PRNG] 生成会话 ID 不安全?

当我启动一个 tomcat 服务器时,我看到了日志:“使用 [SHA1PRNG] 创建用于会话 ID 生成的 SecureRandom 实例”

这是问题!据我所知,SHA1 并不安全。如果是这样,使用 [SHA1PRNG] 生成会话 ID 有问题吗?

如果这将是一个安全问题,那么替代的想法是什么(通用)?

0 投票
1 回答
173 浏览

ruby-on-rails - 捆绑更新破坏了 Digest 库。升级到 OpenSSL 时遇到问题

我们最近进行了一次捆绑更新,但出现了问题。正如我们所了解的,对“digest/hmac”的支持下降了,所以我想改用 OpenSSL:

旧 [工作] 代码:

新代码:

当我们运行 rspec 时:

Gemfile 的相关部分:

我们愿意接受任何解决问题的建议。这部分代码主要用于我们的 Google 和 Facebook 连接流程。

0 投票
1 回答
627 浏览

mysql - 使用 SHA2 连接到 MySQL

我可以访问 2 个 MySQL 服务器(一个用于生产,一个用于开发)。我有他们的主机、端口、数据库、用户、密码和 CA 证书文件。我可以使用 mysql workbench 和 windows cmd 连接到两者。(是的,我现在必须在 Windows 上工作)

现在根据安全要求,我需要使用协议 TLSv1.2 或 TLSv1.2 以及密码 AES256 和 SHA2 进行连接。这些目前没有在开发服务器上强制执行,但它们在生产环境中,我现在无法连接到生产环境。

我满足 AES256 和 TLSv1.1 要求。

但是如何让我的客户端使用 SHA2 进行连接?当我同时使用 AES256 和 SHA256 或 SHA384 指定密码时,Workbench 和 CMD 都不起作用。但如果我指定类似 AES256-SHA 的东西,它就可以正常工作。这是否意味着它不受支持,我需要更新一些东西?默认情况下,它使用“DHE-RSA-AES256-SHA”

如果我尝试在生产中设置 AES256-SHA2 密码之一,我会收到错误消息:

错误 2026 (HY000):SSL 连接错误:无法设置要使用的密码

如果我没有指定任何密码,我会收到错误消息

ERROR 2026 (HY000):SSL 连接错误:未知错误号

我在 stackoverflow、mysql devs 和 mysql bugs 网站上查找了多个帖子,但似乎都没有解决这个问题。

我最终必须让它与 Access 女士一起工作,因为 MySQL 将是它的后端。我什至尝试通过创建系统 DSN,但弹出相同的错误。

也许 ODBC 连接器不支持 SHA2?我在任何地方都找不到任何东西。

我有最新版本的 ODBC 和 MySQL Workbench。

0 投票
1 回答
1940 浏览

hash - 求硬件SHA-2加速的资料

今年 AMD 发布了一个新的 x86-64 CPU 系列,名为 RyZen for desktop。RyZen 的规范显示它提供了新的基于 SSE 的 SHA1 和 SHA-256 指令wiki:英特尔 SHA 扩展

  • sha1指令:SHA1RNDS4、SHA1NEXTE、SHA1MSG1、SHA1MSG2;
  • sha-256 指令:SHA256RNDS2、SHA256MSG1、SHA256MSG2

我很好奇,当您使用 AMD RyZen CPU 时,是否已经存在任何 API/库能够利用这些指令进行超快速哈希以在 PHP 或其他服务器端语言中使用? 如果没有,我们应该期望它何时可用?

由于英特尔在 2013 年左右提供了硬件 SHA 规范,看来至少有几个编译器必须为其提供支持。