问题标签 [digest]
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 - cxf 客户端授权问题
我使用 JAXRSClientFactory.create 方法来创建这样的代理:
这个代码工作正常。
之后,我需要将此服务与另一个凭据一起使用,并尝试使用另一个凭据创建相同的服务,如下所示:
此代码有效,但使用错误的凭据(使用来自第一个服务的凭据)。我没有找到任何改变它的方法(重置,或清除,或类似的东西)。
还有一个细节,这个问题只有摘要授权。有了基本,它工作得很好。
任何人都可以帮我解决这个问题。
谢谢。
ruby-on-rails - Digest::SHA2.hexdigest() 定义在哪里?
我正在阅读Agile Web Development with Rails一书中的教程,我发现了以下代码:
但是,查看Digest
源代码(digest.rb
以及digest/sha2.rb
在lib
我的 ruby 安装目录中),我似乎无法找到该hexdigest
方法的定义位置,但代码似乎工作得很好。
有人能告诉我这是怎么发生的吗?我假设我需要寻找一个看起来像这样的代码:
authentication - 需要 SIP 摘要身份验证方面的帮助
我正在实施 SIP 摘要身份验证。这是我来自服务器的 401 响应。
根据RFC 2617,构建摘要响应的代码应如下所示(在 Groovy 中)
由于某种原因,它产生的值与我期望的值不同(我知道应该适用于我的帐户的预定义值 - 我已经对 SIP Communicator 应用程序进行了一些流量嗅探)。DigestUtils 类型来自 Apache Codec。有任何想法吗?
security - 客户端是否允许在摘要 HTTP 身份验证中选择挑战(随机数)?
摘要式身份验证看起来像是一种挑战-响应机制:客户端和服务器都将随机字符串与密码(MD5 或其他东西)混合在一起,并且只有这种混合的结果通过网络发送。
通常挑战(“nonce”)由服务器选择并发送给客户端。关于摘要身份验证的维基百科文章列出了一个示例“会话” - 挑战(“nonce”)由那里的服务器选择。我在我的机器上用 IIS 进行了同样的测试——同样,挑战是由 IIS 产生的。
但是在像这样的一些帖子中,挑战是由客户端生成的——客户端只是生成一个随机字符串并发送一个请求,其中包含挑战以及密码和挑战的乘积。
后者是否被允许并被广泛接受?客户是否可以选择挑战(“nonce”)?
java - zootool api授权
我正在尝试使用 java 通过 api ( http://zootool.com/api/docs/add ) 将页面添加到我的 zootool 页面。为此,我需要使用摘要身份验证。
给出一个获取页面授权的php示例:
但是如何在 Java 中添加页面呢?搜索后,我发现 apache commons HttpClient 可能有用,但我似乎无法理解它。
我试过了:
我试图对密码进行 sh1-hash(如 api 手册中所述),但没有运气。看来我的代码找不到任何要应对的挑战。
Api-key、用户名和密码正确。
更新我现在相对确定我需要使用抢先式摘要授权,但是当尝试使用 apache 给出的解决方法时,我仍然收到 401 和“身份验证错误:预期的摘要授权挑战,但未找到”-来自 java 的警告。我使用的代码是:
我必须为 DigestScheme 参数赋予有意义的值吗?我在正确的轨道上吗?
/安德烈
security - 消息摘要强度:串联与迭代
如果我有 3 个字段“以明文形式”公开,并且我想对这些字段进行数字签名,以确保它们不会被使用安全散列函数篡改。我有两个选择:
- 我可以连接 3 个字段并使用摘要将整个内容散列为单个字符串,即 hash(field1 + field2 + field3 + salt)
- 我可以迭代地散列各个结果,即 hash(field1 + hash(field2 + hash(field3 + salt)))
显然,方法 1 会比方法 2 更快,但方法 2 会更“强大”,以防止人们通过对来自各种输出的输入进行逆向工程来发现盐的价值(我相信是这样,但是值得额外的CPU成本)?
ruby - 从较长的字符串生成短哈希字符串的最佳方法是什么
我正在尝试从 Ruby 中的较长字符串创建较短的非冲突字符串。最好的方法是什么?Base64 编码一个 MD5 哈希?
这是用例:
我不希望 key 太长。
c# - 将消息和最佳编码从 byte[] 消化到 String
情况
我在我的 C# 项目中使用 Bouncy Castle API。我需要散列一个String
使用Org.BouncyCastle.Crypto
我的样品
结果我得到了一个看起来像的哈希XasdDdflk7ghXi8azuhe==
问题
- 我总是在任何不同消息的末尾得到“==”。正常吗?
- 我试图从转换
byte[]
为String
使用System.Text.ASCIIEncoding.ASCII.GetString()
,但我得到像“!?......”这样的符号我想最终避免使用“==”。我应该怎么办 ?改变编码器?
php - PHP Digest HTTP 身份验证示例不起作用,为什么?
所以我决定对我的 REST API 使用摘要 HTTP 身份验证。我用谷歌搜索它,并在 PHP 手册中找到了一个条目,其中包含如何执行此操作的示例。所以我复制了脚本,把它放在我服务器上的 index.php 中,在浏览器中打开页面,在输入我的凭据后,浏览器再次询问它们,我陷入了输入凭据的无限循环。该脚本包含在下面,可以在此处找到。
Example #7 摘要 HTTP 身份验证示例
我还尝试了基本身份验证,效果很好。
Example #6 基本 HTTP 身份验证示例
好像$_SERVER['PHP_AUTH_DIGEST']
永远都是空的。
脚本有问题还是我的环境很时髦,如果有,我该如何解决?
编辑:脚本没有问题。故障在于服务器。如果有人知道可能导致这种情况的原因,请告诉我。
hash - 截至 2011 年,哪种哈希算法最适合消息摘要?
当我用谷歌搜索这个答案时,我有点矛盾,因为这些算法在不断改进,新的漏洞正在被发现,新的问题一直在出现......关于使用什么算法的很多建议只是旧的,或者保留旧时代的想法,因为它们是最好的方法。
我想在这里非常清楚:我不是在谈论密码。我说的是消息摘要,而不是加密哈希。
我可以继续使用 md5 作为我对消息摘要的第一个暗示(它的名字是正确的),但后来我记得那里的冲突比更现代的算法更多。但是,是什么让这些较新的算法更适合文件或短字符串的消息摘要?
所以这就是我的问题,应该使用什么现代消息摘要算法?