问题标签 [sha1]
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.
math - 是否存在任何 SHA1(x) 等于 x 的 x?
有x
哪里SHA1(x) == x
吗?我正在寻找反对它的证据或强有力的论据。
c# - SHA1 哈希问题
我有这个方法来散列一个字符串:
我的问题是:
对于相同的字符串,生成的哈希值是否总是相同的?
几天前我对一个字符串进行了哈希处理,现在它似乎产生了另一个哈希值,但我不确定。
ffmpeg - 如何创建媒体文件的稳定校验和?
如何仅创建没有元数据的媒体数据的校验和,以获得媒体文件的稳定标识。最好是跨平台方法,其库支持多种格式。例如 vlc、ffmpeg 或 mplayer。
(媒体文件应该是通用格式的音频和视频,图片也可以)
.net - 如何解密使用 HMACSHA1 加密的字符串?
我是一个加密新手,试图在系统之间来回传递一些值。我可以加密该值,但似乎无法弄清楚如何在另一端解密。我使用 VB.NET 创建了一个简单的 Windows 窗体应用程序。尝试输入一个值和一个密钥,加密然后解密以获得原始值。到目前为止,这是我的代码。非常感谢任何帮助。谢谢。
c++ - 字符串的唯一哈希
我想创建一个任意长度字符串的唯一哈希(16 个字符长)。是否有一个为 C++ 实现 MD5 或 SHA-1 的好库,我可以用它来实现这一点?(可能还有一个如何使用它的例子)
c++ - 一个 16 位的散列函数
是否有返回 16 位十六进制值的哈希函数(因为 MD5 返回 32 位),或者是否有一个库(用于 C++),我可以在其中使用返回 16 位值的 MD5 或 SHA-1
c# - JavaScript 和 C# 中的 SHA1 base64 算法
我正在运行一些测试,比较用 javascript 实现的 sha1 算法 - 从http://pajhome.org.uk/crypt/获得- 与它在 C# 中的实现。
使用 C# 获取 {'method':'people.get'} 的哈希值我正在使用以下语句:
这给了我Qy95a0ShZqhbNdt6IF8qNf72jX0=
在 javascript 中,我得到了几乎相同的结果:Qy95a0ShZqhbNdt6IF8qNf72jX0
使用语句:
在 javascript 案例中,哈希不以等号 (=) 结尾。
这种差异会导致我在针对服务器进行身份验证时遇到麻烦吗?
就我而言,你们中的许多人可能都知道,我认为哈希值的句子进入了 http 正文,服务器将对其进行检查。
谢谢
c# - 在哪里可以找到不使用内置库的 SHA-1 的 C# 实现?
我正在尝试在我的个人项目中重写用于并行化的 SHA-1 算法。只是想知道是否有人知道我在哪里可以找到实际数学运算的 C# 实现来执行哈希,而不仅仅是System.Security.Cryptography
函数。
sha1 - PBKDF2-HMAC-SHA1
要为 WPA2 网络生成有效的成对主密钥,路由器使用 PBKDF2-HMAC-SHA1 算法。我知道 sha1 函数执行了 4096 次来导出 PMK,但是我对这个过程有两个问题。
原谅伪代码。
1) SHA1 函数的第一个实例的输入是如何格式化的?SHA1("network_name"+"network_name_length"+"network_password")
它是按该顺序格式化的,是网络名称、长度和密码的十六进制值还是直接的 ASCII?
然后从我收集到的 160 位摘要中,直接送入另一轮散列,无需任何额外的加盐。像这样: SHA1("160bit digest from last round of hashing") 上升并重复。
2) 一旦发生这种情况,输出的 4096 乘以 256 位将用作成对主密钥。我不明白的是,如果 SHA1 产生 160 位输出,那么算法如何达到密钥所需的 256 位?
谢谢您的帮助。
asp.net - 是否可以将 40 个字符的 SHA1 哈希转换为 20 个字符的 SHA1 哈希?
我的问题有点毛茸茸,我可能问错了问题,所以请多多包涵……
我有一个旧的 MySQL 数据库,它存储会员系统的用户密码和盐。这两个值都已使用 Ruby 框架进行哈希处理 - 大致如下:
hashedsalt = Digest::SHA1.hexdigest("--#{Time.now.to_s}--#{login}--")
hashedpassword = Digest::SHA1.hexdigest("#{hashedsalt}:#{password}")
所以这两个值都在 MySQL 中存储为 40 个字符的字符串 (varchar(40))。
现在我需要将所有这些用户导入到一个新网站的 ASP.NET 成员框架中,该网站使用 SQL Server 数据库。据我了解,在我配置 ASP.NET 成员身份的方式中,用户密码和盐值也作为 SHA1 哈希值存储在成员身份数据库中(在表 aspnet_Membership 中),然后进行 Base64 编码(有关详细信息,请参阅此处)并存储作为 nvarchar(128) 数据。
但是从存储的 Base64 编码字符串的长度(28 个字符)看来,ASP.NET 成员生成的 SHA1 哈希值只有 20 个字符长,而不是 40 个。从我一直在做的其他一些阅读中,我在想这个与每个字符/字符集/编码或相关的位数有关。
那么有没有办法将 40 个字符的 SHA1 哈希转换为 20 个字符的哈希,然后我可以将其传输到新的 ASP.NET 成员数据表?我现在已经非常熟悉 ASP.NET 成员资格,但我觉得我只是错过了这一块。但是,可能也知道 Ruby 中的 SHA1 和 .NET 中的 SHA1 不兼容,所以我正在打一场失败的战斗......
提前感谢您的任何见解。