问题标签 [sha]
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.
java - java中的SHA2密码散列
我正在尝试使用 SHA2 散列一些密码。
我在哪里可以得到一段 java 代码来制作它?
我看过那篇文章,但我缺少一些东西: SHA2 password storage with Java
这句话是我要编码的字符串吗?什么是关键(第 2 行)
提前致谢
sharepoint-2007 - 使用 SharePoint 列表项更新列表项
我正在尝试使用 Lists Web 服务中的“UpdateListItems”方法更新 SharePoint 列表项。CAML 查询:
itemID、itemStatus 并作为参数从 UI 传递。这给出了以下错误
任何人都可以帮助。另一个问题是更新方法仅基于 ID 工作,或者是否也有可能通过 Title。
谢谢
windows - 如何在 Windows 上计算 HMAC SHA?
我需要在 Windows 上的程序中计算 HMAC SHA。该程序之前用于在使用 openssl 的 linux 上运行。现在我需要将它移植到 Windows,但我不确定 Windows 平台 SDK 是否提供任何方法来计算 HMAC SHA。
我在 msdn 上浏览了以下链接,但我不确定 - http://msdn.microsoft.com/en-us/library/aa382453(v=VS.85).aspx。
让我知道对我来说最好的方法是什么。现有程序在 C 中。
encryption - 加密:甚至根本不存储密钥时是否需要加盐?
我搜索了整个网络,包括这里的 SO:有很多关于在散列和存储密码之前需要对密码进行加盐的讨论。
如果密码用于计算用于加密的密钥(“基于密码的加密”):如果您根本不存储密码怎么办?
- [注意:我确实读过 SO:Passphrase、Salt 和 IV,我需要所有这些吗?并且IV 是否像盐一样工作肯定是一个相关的问题:我不确定那里讨论的初始化向量与这里的问题有何关系]
认为:
用于加密
- 用户输入主密码
- 这是 SHA256 哈希,输出用于 AES256 加密文件
- 没有存储哈希(显然主密码也没有)
用于解密
- 用户输入主密码
- 这是 SHA256 哈希,输出用于解密文件
- 如果解密成功,则密码 - 显然 - 正确
我的问题:
除了加密文件本身之外不存储任何内容时,在散列之前对主密码进行加盐有什么好处?
注意事项:
- 它可能会降低哈希冲突的可能性
- 这将需要储存盐。
如果盐丢失/损坏,用户将无法再解密文件
如何在步骤 3 中检查是否成功解密:这是否需要知道部分文件内容?
- 如果是这样,有多少错误将已知值存储在加密文件中(这不能总是被阻止 - 攻击者可能会猜测,例如用户的姓氏在文件中的某处被加密 - 是正确的)。
php - Php Login / Mysql 检查 mysql 不适用于 SHA512
目标:尝试创建登录。注册页面使用它来根据输入创建用户名和密码:
登记
登录.php
我得到的错误是Wrong User or Pass
,但我尝试登录时的密码是:
数据库中用户的poop
密码和数据库中的密码poop
是:
为什么这些密码不同?!有人可以帮忙吗?
gwt - SHA1 哈希的细微差别
我正在进行的一个项目使用 Apache Shiro 作为安全框架。密码经过 SHA1 哈希处理(无盐,无迭代)。登录受 SSL 保护。但是,应用程序的其余部分不受 SSL 保护。在这种情况下(无 SSL)应该有一个用户可以更改密码的表单。由于直接传输它不是一个好主意,因此应该在客户端上对其进行哈希处理,然后再传输到服务器。由于客户端是基于 GWT (2.3) 的,我正在尝试这个库http://code.google.com/p/gwt-crypto,它使用来自 bouncycastle 的代码。但是,在许多情况下(不是全部),两个框架生成的哈希值相差 1-4(?) 个字符。例如“happa3”被散列到
通过这两种实现,而只是“happa”被散列到
通过 Shiro 实施和
通过 gwt-crypto 实现(第 23 个字符不同)。我想知道是否存在“正确”/标准 SHA1 散列以及其中一个库中是否存在错误,或者我对它们的使用是否存在缺陷。我的第一个想法是由于不同的传输机制(RPC 与 Post)而导致的不同编码或奇怪的转换。不过据我所知(以及最让我困惑的是),如果只有一位差异,SHA1 哈希应该很有可能完全不同。所以不同的编码不应该是这里的问题。我在客户端(GWT)上使用此代码进行散列:
这在服务器(Shiro)上:
which afaics 在幕后做了非常相似的事情(快速查看了源代码)。我在这里错过了什么明显的东西吗?
编辑:似乎 GWT 代码由于某种原因不能本机运行(即只是在开发模式下)并且静默失败(尽管它确实编译)。必须找出原因...
编辑(2):“int val = sha1.doFinal(结果,0);” 是造成麻烦的那一行,即如果存在,整个代码不会在本机(JS)中运行,而只能在开发模式下运行(结果错误)
ruby - 在 Ruby 中将唯一的种子字符串转换为随机但确定的浮点值
从概念上讲,我很难做到这一点。
基本上,我需要接受一些任意唯一的字符串,并能够将其转换为规范化的浮点值。输出浮点值是什么并不重要,只要相同的字符串输入总是产生相同的标准化浮点输出。
所以这是一个哈希算法对吗?我熟悉 SHA1 或 MD5,这似乎类似于密码哈希,其中正确密码的结果是相同的。但我相信这些方法会输出字符串。而我没有得到的是如何将 SHA1 或 MD5 的结果转换为一致的浮点值。
那么我可以在 Ruby 中采用哪种方法将任意字符串转换为随机但一致的浮点值?
git - Git(Hub) 如何处理来自短 SHA 的可能冲突?
Git 和 GitHub 都显示 SHA 的短版本——仅显示前 7 个字符而不是全部 40 个字符——并且 Git 和 GitHub 都支持将这些短 SHA 作为参数。
例如git show 962a9e8
例如https://github.com/joyent/node/commit/962a9e8
鉴于可能性空间现在低了几个数量级,“仅” 2.68 亿,Git 和 GitHub 如何在这里防止碰撞?他们如何处理它们?
java - 如何在 Android 中计算字符串的 SHA-256 哈希?
我正在尝试在 Android 中获取字符串的 SHA256。
这是我要匹配的 PHP 代码:
现在,在 Java 中,我正在尝试执行以下操作:
但这会打印出来:“a42yzk3axdv3k4yh98g8”
我在这里做错了什么?
感谢埃里克森的解决方案:
salt - 来自“email+salt”的哈希作为验证电子邮件的令牌
我正在验证用户电子邮件地址。
大多数人告诉的方式是创建一些独特的令牌将其存储在数据库中并发送给用户。
我只是用站点范围的盐来散列(sha256)电子邮件地址
并将这个散列发送给用户。
我错过了什么还是足以验证?