我想不出任何安全解密只有JavaScript,因爲你需要在源代碼中包含密碼,這不是很安全。
最好的方法是加密和用PHP解密:(使用AJAX),你可以從JavaScript代碼中調用PHP
因此,舉例來說:
encrypt.php
<?php
$password = "KEYVALUE";
$secret_text = "USERID HERE"
$encrypted_text = mcrypt_ecb(MCRYPT_DES, $password, $secret_text, MCRYPT_ENCRYPT);
echo $encrypted_text;
?>
然後你有一個叫decrypt.php的東西,接受一個GET參數,唯一的輸出是解密的文本(沒有HTML代碼或任何東西)。從技術上講,你可能應該使用XML作爲AJAX,但因爲它只是一個值...)
decrypt.php
<?php
$password = "KEYVALUE";
$decrypted_text = mcrypt_ecb(MCRYPT_DES, $password, $_GET['decrypt'], MCRYPT_DECRYPT);
echo $decrypted_text;
?>
你可以通過調用
decrypt.php測試了這一點?解密= encrypted_string
。
從這裏我可以在JavaScript中調用「decrypt.php?decrypt = encrypted_string」腳本,然後JavaScript可以讀取解密後的值。
AJAX的快速入門可以在這裏找到:http://www.yourhtmlsource.com/javascript/ajax.html。
您是否確實需要使用Java解碼ID,或者您是否僅僅需要它來進行比較/數據庫查找?如果你不需要解碼它,散列可能是一個更直接的方法。 – jerluc 2011-01-11 09:06:45
是的,我需要重視在服務器上解碼。我有一個拼寫錯誤,我說我會用JavaScript解碼,對不起! – hakunin 2011-01-11 09:22:31
這聽起來像你正試圖重新實施一個會議。有沒有什麼理由不想爲此使用它們?這樣,你不必傳遞一個ID,其他人不會輕易僞造他們,而不會劫持另一個用戶的會話(HTTPS很好地解決了這個問題)。 – Hiro2k 2011-01-11 09:42:53