我需要簡單地編碼一個字符串變量(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