防止查看 Pubnub 密码密钥
Preventing Pubnub cipher key from being viewed
要在 Pubnub 中启用消息级加密,在客户端上实例化 PubNub 时应包含密码密钥。
var pubnub = PUBNUB({
publish_key: 'my_pubkey',
subscribe_key: 'my_subkey',
cipher_key: 'my_cipherkey'
});
然后,PubNub 文档指出:
永远不要让您的密码密钥被发现,并确保只安全地交换/交付它。在 JavaScript 上,这意味着明确不允许任何人查看源代码或查看生成的源代码或调试以启用查看密码密钥。
究竟如何完全混淆网页中的密码密钥?不可能完全阻止某人查看源,只会使其不方便。客户端上的任何加密/解密例程也可以相当容易地识别。
我们在这里应该采取的建议路线到底是什么?
我不熟悉 pubnub,但在类似的情况下,您可以创建一个哈希或其他指向服务器上密钥的引用。 因此,哈希在客户端/服务器之间共享,服务器引用哈希作为密钥。
您还没有说您的服务器端语言是什么,但是有许多不同的哈希机制可用,建议使用SHA-1或类似的 https://en.wikipedia.org/wiki/SHA-1
这正是重点:在任何情况下,您都不能在网络上发布您的cipher_key
。网站可以在给定其他(公钥)密钥的情况下使用其 API,但cipher_key只能在安全的环境中使用。
相关文章:
- API密钥使用和检查示例
- react.js中的密钥绑定
- JS对象密钥序列
- 似乎无法使用javascript从AWS 3S中删除密钥
- 加载两个具有相同父密钥名称的json文件
- 如何获取$data.Entity的密钥
- Angular ngRepeat:重复错误(尽管没有重复的密钥)
- CryptoJS和密钥/IV长度
- 基于api密钥的NodeJS web服务
- 输入密钥和firefox提示
- React Rails应用程序中动态子项的密钥分配问题
- 正在Javascript Cookie中设置重复密钥
- 通过localStorage中的密钥获取ID
- 防止查看 Pubnub 密码密钥
- CryptoJS使用密码短语加密AES,但PHP解密需要密钥
- 用密钥加密javascript中的pass,然后检索原始密码(尽可能安全)
- 为什么Gmail密码字段不能用sendkeys发送密钥?在Selenium Webdriver (Java)
- 有没有一种方法可以可靠地删除/擦除JavaScript中的变量(即密钥/密码)
- 我想在客户端加密密码并使用非对称密钥解密密码
- 禁用Safari 7.0.2密钥链密码保存