我想不出任何安全解密只有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