javascript - 客户端 JavaScript 中的 HMAC 和身份欺骗

标签 javascript hmac cryptojs

CryptoJS 具有从消息和 key 创建 HMAC 的功能。

考虑到 key 必须存储在部署在客户端的 JavaScript 源代码中,这如何保证安全?

任何人都可以拿到 key ,并以 API 原始客户端的身份向服务器发出类似的请求。 “身份”不正是HMAC要解决的问题吗?

总而言之,我不明白客户端 JS 中 HMAC 的用途,因为 key 无法保密。

是否有在 JavaScript 中计算 HMAC 的用例?

最佳答案

JavaScript 现在具有 WebRTC,两个客户端可以进行点对点通信,这将是客户端可以生成和使用自己的“ secret ”的场景。

在某些情况下,客户端 -> 服务器也可以使用。如果您的服务器“动态”提供 JavaScript,那么它可以根据客户端当前 session /登录插入“ secret ”。假设您使用的是 HTTPS(如果不是,可能会有中间人窃取“ secret ”),那么假设与使用该特定“ secret ”签名的服务器(即使是通过不安全的 HTTP)进行的通信仅属于那个客户。

关于javascript - 客户端 JavaScript 中的 HMAC 和身份欺骗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18105285/

相关文章:

javascript - 如何检查动态添加的 tealium utag 是否已提交?

c# - 如何为HMACSHA256签名计算生成随 secret 钥

javascript - Java 和 javascript 为 Base64 Hmac SHA256 生成不同的输出

javascript - 需要从数据表按钮操作将参数传递给模态 dlg

javascript - 如何设置固定位置元素高度到达浏览器窗口底部?

javascript - 使用 CryptoJS 解密 openssl_seal 中的密文

javascript - 使用 crypto-js 加密密码并通过 ajax 发送表单(并在 java 中解密),我得到 : TypeError: Cannot read property 'words' of undefined

blob - 如何使用CryptoJS获取BLOB的正确SHA1哈希?

javascript - Angular ng 重复 : construct new object

rust - Rust 中的 HMAC-SHA1