我正在尝试在 Javascript 中使用 HMAC SHA-256 散列文本我有 [secret Ket]
我有 Ruby 代码要散列,但我需要 Javascript 代码来散列文本
红宝石代码
OpenSSL::HMAC.hexdigest(
'sha256', # hash function
'HFgGgIOaLiyFgUhIjirOoqxloHuiLNr20jkhXrNw', # secret key (keep safe!)
current_user.email # user's email address
)
Run Code Online (Sandbox Code Playgroud)
请建议我任何解决方案。
NVR*_*VRM 11
async function HMAC(key, message){
const g = str => new Uint8Array([...unescape(encodeURIComponent(str))].map(c => c.charCodeAt(0))),
k = g(key),
m = g(message),
c = await crypto.subtle.importKey('raw', k, { name: 'HMAC', hash: 'SHA-256' },true, ['sign']),
s = await crypto.subtle.sign('HMAC', c, m);
[...new Uint8Array(s)].map(b => b.toString(16).padStart(2, '0')).join('');
return btoa(String.fromCharCode(...new Uint8Array(s)))
}
/* TEST */
HMAC("mypassword", "Hello world!")
.then(e => console.log(e))Run Code Online (Sandbox Code Playgroud)
我认为 CryptoJS 可以使用
CryptoJS.HmacSHA256(current_user.email, 'HFgGgIOaLiyFgUhIjirOoqxloHuiLNr20jkhXrNw')
.toString(CryptoJS.enc.Hex)
| 归档时间: |
|
| 查看次数: |
7311 次 |
| 最近记录: |