【发布时间】:2018-04-25 07:50:11
【问题描述】:
尝试使用带有 UTF8 密码的 UTF8 字符串的 CryptoJS lib 在 JS 上生成 HMAC。像 PHP hash_hmac('sha1','...','...',true);
PHP:
$buf = ' accept';
$bufferedSecret = '��xDx�����4�J�?)#';
hash_hmac('sha1', $buf, $bufferedSecret, false);
/* d301cae776ed8c5d46ac93bd7441b01af4d1b888 */
hash_hmac('sha1', $buf, $bufferedSecret, true);
/* ���v�]F���tA��Ѹ� */
JavaScript:
var buf = ' accept';
var bufferedSecret = '��xDx�����4�J�?)#';
CryptoJS.HmacSHA1(buf, bufferedSecret).toString();
/* d301cae776ed8c5d46ac93bd7441b01af4d1b888 */
var forBase64 = CryptoJS.HmacSHA1(buf, bufferedSecret);
CryptoJS.enc.Base64.stringify(forBase64);
/* 0wHK53btjF1GrJO9dEGwGvTRuIg= */
如何在 JS 上获得相同的 HMAC(SHA1) UTF8 值?
【问题讨论】:
标签: javascript php hmac cryptojs hmacsha1