防止查看Pubnub密码密钥

时间:2016-03-11 15:24:00

标签: javascript pubnub

要在Pubnub中启用消息级别加密,可以在客户端实例化PubNub时包含密码密钥。

var pubnub = PUBNUB({
    publish_key: 'my_pubkey',
    subscribe_key: 'my_subkey',
    cipher_key: 'my_cipherkey'
 });

PubNub文档然后声明:

  

永远不要让您的密码密钥被发现,并确保只交换它/安全地发送它。在JavaScript上,这意味着明确地不允许任何人查看源或查看生成的源或调试以启用查看密钥。

究竟如何完全混淆网页中的密钥?不可能完全阻止某人查看来源,只会使其不方便。客户端上的任何加密/解密例程也可以很容易地识别出来。

我们应该采取什么建议路线?

2 个答案:

答案 0 :(得分:2)

我不熟悉pubnub,但在类似的情况下,您可以创建一个哈希或其他一些指向服务器上的秘密的引用。因此哈希在客户端/服务器之间共享,服务器引用哈希作为密钥。

您还没有说出您的服务器端语言是什么,但是有许多不同的散列机制可用,建议使用SHA-1或类似机制https://en.wikipedia.org/wiki/SHA-1

答案 1 :(得分:1)

这正是重点:在任何情况下,您都不能在网上发布cipher_key。网站可以在给定其他(公共)密钥的情况下使用其API,但cipher_key只能在安全的环境中使用。