2012-10-27 92 views
1

我有一個var正在通過javascript函數傳遞,我期待在發送給用戶之前混淆var,然後在通過php提交時恢復。正在生成混淆php變量被傳遞

$data = "111:222:333:444"; 

$數據並投入視圖(JavaScript函數)

<img src="button.jpg" alt="" onclick="newfunc(111:222:333:444)" /> 

其再發送回服務器來處理

反正是有湊這個數,因此看起來像

「8f8fu8vu8fu8fhguf99fu8fu8fu8fu」insted 111:222:333:444?

是否有任何類似於md5的php函數可以讓你恢復去混淆var?

任何幫助將不勝感激。

+6

有base64編碼,但你的目標是什麼?安全?那麼你走錯了路。讓它在不破壞JS數據的情況下工作? 'json_encode()'可能是傳遞數據的更好方法。 –

+0

謝謝佩卡,它不是一件安全的事情。我只是喜歡我的數據不是簡單(可以理解)的觀點。用base64你可以編碼和解碼? – btaylor507

+0

是的,base64看起來是:) – btaylor507

回答

3

使用javascript無法安全地加密(讀真正混淆)任何東西。

例如,有一個bluefish encryption library for javascript,但由於私鑰需要被問到的javascript函數所知道。做加密的客戶端/瀏覽器必須知道密鑰,因此它不能通過設計,保持安全。

你能做什麼,就是信任「通過隱藏的安全」(但同樣,客戶端安全不能正常工作),並採用base64編碼誰知道他們是什麼樣的字符串爲「混淆爲」 ..

大家這樣做將能夠恢復您在混淆字符串時所做的任何嘗試...

但是!您可以將字符串發送到您的服務器(通過ajax調用),讓它異步加密明文並返回您真正混淆的文本..服務器又可以解密(再次通過ajax調用)。

希望幫助....

+0

感謝Gung Foo!最後的聲明正是我正在做的。這是非關鍵數據,所以我' – btaylor507

+0

續....我不太擔心安全。這個JavaScript編碼服務器端的func變量。發送給客戶。 Ajax回到服務器解碼。 – btaylor507

+0

很高興我能幫上忙。 :) –

1

好吧,如果你使用的base64,您可以將其解碼回來了,所以做其他。(您想擁有私人的從你的用戶。)

所以我建議你製作一些隨機模式,並附加/混合數據,並在數據恢復後清除它。

+2

base64是「編碼」而不是「加密」。因此你「解碼」它而不是「解密」 - 任何事情...... –

+0

我喜歡把代碼弄髒並清理它的想法。有趣。 – btaylor507

+0

傳遞的這些數據不是關鍵的順便說一句。感謝Kishor。 – btaylor507