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

0 投票
1 回答
155 浏览

c - SHA256 函数更改输入变量

我刚开始在带有 vc2k10 的 windows 下使用 OpenSSL 的 sha 功能,但我遇到了问题。因为我找不到关于它的详细文档,所以我在这里问:

SHA256(const unsigned char *in, size_t n,unsigned char *out) 函数似乎改变了指针指向的内容。这是错误还是功能?谢谢

0 投票
4 回答
11139 浏览

c++ - C ++如何使用boost制作简单的sha256生成器?

我需要一个简单的字符串到 sha256 生成器类。我不想为之类的 openSSL 或 Cripto++ 构建大型库——我只想将字符串转换为 sha256。如何创建这样的课程或从哪里获得它?

0 投票
1 回答
2245 浏览

c - OpenSSL 库:Linux libcrypto 和 libssl 上 2 个,Windows 上超过 13 个。我应该在 Windows 上链接什么来编译我的示例?

所以我看一下这个示例代码:

我应该将哪些库链接到我的项目以在 Windows 上编译它?

0 投票
1 回答
1948 浏览

php - sha256 哈希 PHP 并存储在 MySQL 上

现在我有一个网站,允许用户上传一个文件,该文件存储在我服务器上的本地目录中。文件上传后,我执行了一系列非常昂贵的操作来为用户生成一个 HTML 文件(使用两个 java 程序)。因为这些操作非常昂贵,所以我现在希望能够使用 SHA256 来保存每个已上传文件的数据库。这样,如果有人上传了一个文件并且该文件已经被处理,我不必再次处理它,我可以只显示现有的 HTML。

为了确定与文件关联的 HTML 是最新的,我还想拥有我在与哈希值关联的文件上运行的两个 java 程序的版本。

所以逻辑是这样的:
1. 用户提交文件。
2. 如果文件还没有在服务器上,一切照旧。
3.如果是,请检查它用于生成html的两个java程序的哪个版本。
4.如果当前版本较新,请重新生成html。

我对 SHA 或 MySQL 了解不多,因此非常感谢任何帮助。真正的问题归结为:如何将一堆散列值及其两个版本标识符存储在 MySQL 数据库中,然后再检索该信息。

如果问题不清楚,请告诉我,以便我消除混淆。

谢谢!

0 投票
1 回答
5390 浏览

java - GlassFish SHA-256 摘要认证

出于开发目的,我一直以纯文本形式存储我的密码,但想开始存储哈希值,但由于以下 SecurityException,到目前为止尚未成功让 GlassFish 对哈希密码进行正确身份验证:

首先,我正在运行 GlassFish 3.1,并将我的 JDBC 领域的摘要设置为 SHA-256。

我的User班级有以下带注释的密码字段:

以下帮助方法负责对密码进行哈希处理:

然后我在用户上设置密码如下:

我不会对 Base64 进行编码,因为这似乎没有记录,但是这个问题:Glassfish Security - jdbcRealm: How to configure login with SHA-256 digest建议您确实需要这样做。

所以我想我想知道的是,GlassFish 是否需要一个字符串(VARCHAR)或一个字节 [](BLOB)作为数据库中的密码字段,我是否正确地散列密码,另外 Base64 编码是否正确密码哈希?

谢谢!

0 投票
4 回答
11640 浏览

sha1 - 想要将网站密码加密从 SHA1 转换为 SHA256

只是在寻找一些建议。我有一个拥有大约 2500 名用户的网站 - 规模虽小但不断增长。我在密码上使用 SHA1 加密来构建它。我从那以后读过 SHA1 是不安全的,并想改用 Salt 的方式说 SHA256。

有人对如何进行这样的过渡有任何建议吗?如果我可以解密密码并重新散列它们会很棒,但它似乎无法做到。

谢谢亚当

0 投票
4 回答
849 浏览

php - SHA 加密 - 真的需要盐吗?

我正在使用 Jquery SHA512.js 发送加密并将用户名和密码发送到服务器。在服务器上,我正在执行以下操作来创建我的数据库存储 HASH:

$dbhash = = hash('sha256',(hash('sha512',$user) . hash('sha256',$extremesalt)));

这一切都很好。

我的问题是盐的价值是什么?在将 Salt 应用于密码的那一刻,密码已经在服务器上,而不是在 Internet 上传输。Salt也存储在密码哈希旁边。

因此,似乎有人需要使用哈希表来获取我的表,如果他们这样做了,他们还可以获得盐和我的其余代码,并在我的网站上做他们想做的事情。

我可以看到应用盐的好处,我会这样做,但因为它只发生在服务器上,而不是从浏览器到服务器,我质疑它的价值。我错过了什么吗?

另一个问题 - 是否可以将盐从浏览器应用到服务器。我假设不是,或者至少如果你这样做了,如果有人检查了源代码(例如:在我的原因中在 jquery 中可见),它会是可见的。因此没有实际价值。

谢谢

0 投票
3 回答
13284 浏览

cryptography - 并行计算大文件的哈希码

我想提高散列大文件的性能,例如几十 GB 的大小。

通常,您使用散列函数顺序散列文件的字节(例如,SHA-256,尽管我很可能会使用 Skein,因此与从 [快速] SSD)。我们称之为方法 1。

这个想法是在 8 个 CPU 上并行散列文件的多个 1 MB 块,然后将连接的散列散列成单个最终散列。我们称之为方法 2。

描述此方法的图片如下:


在此处输入图像描述


我想知道这个想法是否合理以及损失了多少“安全性”(就更可能发生的冲突而言)与在整个文件的跨度上进行单个散列。

例如:

让我们使用 SHA-2 的 SHA-256 变体并将文件大小设置为 2^34=34,359,738,368 字节。因此,使用简单的单通道(方法 1),我将获得整个文件的 256 位散列。

将此与以下内容进行比较:

使用并行散列(即方法 2),我会将文件分解为 32,768 个 1 MB 的块,使用 SHA-256 将这些块散列为 32,768 个 256 位(32 字节)的散列,连接散列并进​​行最终散列结果连接了 1,048,576 字节的数据集,以获得整个文件的最终 256 位哈希。

就碰撞的可能性和/或可能性而言,方法 2 是否比方法 1 更不安全?也许我应该将这个问题改写为:方法 2 是否使攻击者更容易创建一个散列到与原始文件相同的散列值的文件,当然除了一个微不足道的事实,即蛮力攻击会更便宜,因为哈希可以在N个cpus上并行计算吗?

更新:我刚刚发现我在方法 2 中的构造与哈希列表的概念非常相似。但是,与方法 1(文件的普通旧哈希)相比,上句中的链接引用的 Wikipedia 文章没有详细说明哈希列表在冲突机会方面的优劣,当只有顶部哈希时使用哈希列表。

0 投票
3 回答
1940 浏览

actionscript-3 - 用于在 ActionScript 中处理 SHA 256 哈希的库

我正在寻找一种在 BlackBerry PlayBook 上的 Action Script 中计算 SHA 256 的简单方法。

我看到 mx.data.crypto.SHA256 类似乎适合此目的,但它似乎在标准 PlayBook 库中不可用,还是我需要导入任何特定的 SWF?

更一般地说,如果您知道一个易于使用的动作脚本加密库,我也会欢迎。

感谢您的任何建议

0 投票
5 回答
9020 浏览

c# - C# SHA-256 与 Java SHA-256。结果不一样?

我想将Java中的一些代码转换为C#。

Java 代码:

当我尝试使用SimpleHash时,我得到了不同的哈希值

更新:

例如:

Java: byte[] hash = digest.digest(SALT); 生成(前 6 个字节):

C# 代码(SimpleHash 类):字符串 hashValue = Convert.ToBase64String(hashWithSaltBytes); hashWithSaltBytes 有(前 6 个字节):