问题标签 [cryptographic-hash-function]

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 回答
108 浏览

language-agnostic - 与额外的 128 位随机盐一起使用时,SHA1 对散列密码是否安全?

在我们的网站上,我们使用随机GUIDs作为盐来计算用户密码:

每个密码哈希的唯一盐存储在数据库中。

我知道这SHA1已经不是很安全了,但考虑到我们添加了一个很长的随机盐,我几乎无法想象它可以被暴力攻击或彩虹表破坏。

那么,这种方法在存储密码哈希时是否安全?

0 投票
1 回答
73 浏览

cryptography - 如果我知道部分输入,破解 SHA1 是否会更容易?

假设我知道 80% 的 SHA1 输入。从 SHA1 哈希值中破解剩余的 20% 是否比破解整个输入更容易?如果是这样,百分比是多少?

例如:我知道输入 SHA1(xxxxxxxxyy)=hash value 中的 x

0 投票
2 回答
718 浏览

c - MD5 源代码没有输出正确的值

我正在尝试在我的 linux 机器上运行 md5 源代码。我从这里得到了代码:https ://www.rfc-editor.org/rfc/rfc1321 。

在链接的底部,它声称 MD5 测试套件的输出应如下所示:

在我的 md5 文件夹中,我有以下内容:

当我一开始尝试编译时,它在 mddriver.c 中抛出一个错误,说“第 20 行 MD5 未定义”(或类似的东西),所以我将第 20 行从“#define MD MD5”更改为“#define MD 5”。考虑到其余的代码,这可行并且似乎很有意义。

我在 MD5 文件夹中使用以下内容进行编译:

这创建了我可以使用的文件“out”

其中参数“-x”用于运行测试套件。但是,我得到了“./out -x”的以下输出:

这显然不一样。我错过了什么吗?如果您希望我重新创建“MD5 未声明”错误,请告诉我。谢谢。

0 投票
3 回答
2818 浏览

php - 无法使用数据库中的加密密码登录

我可以用 md5 加密我的密码,只需将它包裹起来 -

用户注册时,加密密码成功存储在数据库中。但是,当我想使用纯文本密码登录时,它也决定了。我该如何解决这个问题?

0 投票
1 回答
105 浏览

python - 无法将明文加密为密码

我正在尝试增强密码隐藏的当前实现

我用错了吗?如下是我的代码:

结果如下所示:

如您所见,返回的密文与我捕获的加密密码不匹配!我是否错误地使用了代码?我验证了使用的明文密码和共享密钥是准确的。

感谢有人能指出我正确的方向。

0 投票
1 回答
1208 浏览

c# - 解密 MD5CryptoServiceProvider 的任何方式

嘿伙计们,我想知道为这个 crypt 函数创建一个解密函数:

有什么方法可以解密函数?

我得到的哈希值是:??????7hYkr?4??w

0 投票
1 回答
1368 浏览

php - MD5 在 SQL 数据库和 PHP 脚本中的作用不同

最近我创建了一个脚本来处理我的游戏的登录和注册,它使用 http_get 方法来更新统计信息。我已经成功地创建了所有东西,但是有一个问题。当用户注册时,它会插入 PHP 脚本生成的不同 md5 字符串,因此,我无法比较密码。

这是我将 md5 字符串插入数据库的方式:

这就是我检查密码的方式:

这是用户注册时数据库中的 md5 字符串:(未加密的字符串为:pocakaj123)

这是我时生成的字符串echo md5($password)

0 投票
1 回答
89 浏览

security - 为什么在 UMAC(通用消息验证码)算法中散列后需要加密以确保安全?

在 UMAC 的维基百科https://en.wikipedia.org/wiki/UMAC上,它指出:

然后对生成的摘要或指纹进行加密,以隐藏所使用的散列函数的身份。

此外,在本文http://web.cs.ucdavis.edu/~rogaway/papers/umac-full.pdf中,它指出:

通过使用共享散列函数对其进行散列,然后加密生成的散列(使用加密密钥)来验证消息。

我的问题是,如果散列函数集H足够大,散列桶的数量|B|足够大,为什么我们需要加密——秘密散列不够安全吗?

例如,以最坏的情况为例,每个客户端都发送相同的短内容,例如“x”。如果我们散列到 32 个字节并且我们的散列依赖于一个秘密的 32 字节散列密钥,并且散列表现出统一的属性,那么攻击者怎么可能希望了解任何单个客户端的秘密散列密钥,即使没有加密?

而且,如果攻击者不知道密钥,攻击者怎么可能希望恶意更改消息内容?

谢谢!

0 投票
0 回答
1562 浏览

c# - Veracode 密码学问题

最近,我们在其中一个应用程序上使用 Veracode 进行了静态安全扫描。

报告指出一个问题

使用损坏或有风险的加密算法 (CWE ID 327)

以下代码片段显示

在描述中,它将 SHA1 描述为一种弱算法。

我修改了代码并使用 SHA256 而不是 SHA1 并再次执行 veracode 扫描,但它仍然显示相同的问题。

有什么替代方法?有什么建议么?

0 投票
2 回答
174 浏览

c++ - 如何为简单的 C++ 程序选择正确的校验和,以及如何实现它?

我对校验和很陌生,对编程也很陌生。我有一个相当简单的 C++ 程序(测量 psi),我正在转移到 Arduino 板上。crc16 可以吗,还是我应该使用 crc32 还是会矫枉过正?