我需要简单地编码一个字符串变量(my api key),以便人眼不易读,我需要它轻松地解码回到完全相同的初始字符串。什么是标准的实用和快速(少用户端计算)的方式来做到这一点?如何简单地编码和解码字符串变量
非常感谢提前!
我需要简单地编码一个字符串变量(my api key),以便人眼不易读,我需要它轻松地解码回到完全相同的初始字符串。什么是标准的实用和快速(少用户端计算)的方式来做到这一点?如何简单地编码和解码字符串变量
非常感谢提前!
如果它没有被超级安全,Base64编码总是得心应手:
一切都可以做,以混淆客户端上的信息意味着你包括去代码混淆在它旁边。
所以......除了为你的程序(和假想的攻击者)增加一个额外的步骤外,你什么也得不到。好吧,反正也不多。
如果您的API密钥是秘密的,请将其保留在服务器上,并让服务器通过HTTP请求完成工作。
是的!这是真的,但因为我要混淆javascript函数本身,这只是把它们挤在一起,因为代码很小,我只是试图从他们的“Ctrl + F”的优势,迫使他们实际上重新学习所有的代码来复制它。应该劝阻业余爱好者。这是一个有关项目的项目,我不确定我是如何描述它的。 – Mohammad 2010-04-19 16:25:57
@Mohammed:我知道这是一条细线。但问问自己 - 如果它是秘密的(根据“当人们发现不好的事情发生时”,JS混淆是不够的,并且在客户端运行它本身就是危险的,不管它是什么形状或形式。如果它不是秘密在这些术语中,为什么麻烦混淆它呢?那么......谁是你的目标受众,你是谁开的? – Tomalak 2010-04-19 16:45:56
Tomalak你当然是对的,我必须开始担心我的下一个安全优化。谢谢:) – Mohammad 2010-04-19 18:16:48
,你可以使用第三方的base64编码库:http://ostermiller.org/utils/Base64.html
这是秘密信息或没有?
如果它是秘密的,你需要一个真正的加密库和一些深思熟虑,确保你的秘密保密。我会认真考虑不要向浏览器发送任何秘密。
如果这不是秘密,并且您只需要通过URL发送它而不会发生这种情况,那么escape()/ unescape()就是您要查找的内容。
不推荐使用escape()'/'unescape()':https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions – Tomalak 2010-04-19 18:28:20
你知道它根本无助于保护你的钥匙吗? – elias 2010-04-19 16:14:17