【发布时间】:2013-04-03 04:56:51
【问题描述】:
我正在考虑在 Symfony2 中构建一个 REST API,并在他们的Custom Authentication Provider 中展示了如何构建一个 WSSE 身份验证系统,这对于我需要做的事情应该没问题。我将从通过 cURL 构建和测试 API 开始,因此我需要能够快速生成标头。我找到了一个JS generator,它显示了我需要的标题。
根据我的阅读,密码摘要应该是一个 base64 编码的随机数、时间戳和用户密码按该顺序连接在一起的 SHA1。我从以下数据开始:
$nonce = '4c5625ec7af5bdff';
$timestamp = '2013-04-03T04:46:19Z';
$password = 'mypass';
并生成摘要:
$digest = base64_encode(sha1($nonce.$timestamp.$password));
我不明白的是 $digest 变量现在设置为 YTgxMDUzOWQzMDBiZmU1MmI2NWQ0YjYwNDc3ZmY5OWI3MmVlZTQyNA==,但来自 JS 生成器的示例 PasswordDigest 显示为 qBBTnTAL/lK2XUtgR3/5m3Lu5CQ=。我一定在某个地方遗漏了一步,但我不确定它是什么。
【问题讨论】:
标签: php symfony base64 sha1 wsse