我想知道是否有人知道一個快速庫或一些基本上這樣做的解決方案。JSON到散列值
code({ json: 1 }) -> codedsecret
decode(codedSecret) -> { json: 1 }
基本上,我正在尋找一種方式來JSON轉換成一個編碼字符串,大多數人不能夠理解出於安全原因。
我想知道是否有人知道一個快速庫或一些基本上這樣做的解決方案。JSON到散列值
code({ json: 1 }) -> codedsecret
decode(codedSecret) -> { json: 1 }
基本上,我正在尋找一種方式來JSON轉換成一個編碼字符串,大多數人不能夠理解出於安全原因。
如果說「大多數人」是指非偷偷摸摸的開發者,那麼base64就足夠了。現代瀏覽器應該實現btoa
和atob
(兩個方向),但有些庫需要更多的兼容性。
var secret = btoa(JSON.stringify({json: 1}));
JSON.parse(atob(secret)); // {json: 1}
這不提供任何加密安全性,很容易被可視化識別甚至解碼base64字符串的開發人員破解。如果您需要覆蓋這兩種情況,那麼您需要先查看服務器端的加密,然後再與客戶端進行通信,反之亦然。有JavaScript的OpenSSL實現,但我不知道我有多信任它們。
這也適用,我認爲我現在不需要很多安全(主要用於過濾掉正在發生的事情)。如果有人弄清楚我存儲的是什麼,它不是一個遊戲改變者。 – adrian 2013-04-03 23:37:57
也許[Crypto JS](https://code.google.com/p/crypto-js/)? (關於客戶端安全的所有常見警告) – 2013-04-03 23:30:11
是的,我剛剛看到,可能工作得很好,謝謝 – adrian 2013-04-03 23:30:57
你可以扭轉你的字符串:) – 2013-04-03 23:41:46