Javascript—使用密码加密数据的最佳方法

Javascript—使用密码加密数据的最佳方法,javascript,encryption,Javascript,Encryption,我正在创建一个服务器,它可以在包含应用程序设置的web上存储cookie。服务器将接受任何数据,但我希望在将所有设置存储在cookie中之前对其进行加密,并在读取它们时对其进行解密。因此,我可以在cookie中存储非常敏感的数据,如帐户用户名和密码,而服务器无法对其执行任何操作 我现在的问题是:在客户端用JavaScript密码加密这些数据的最佳方法是什么?什么是最安全的 我需要一些代码,我可以嵌入到我的网站,并从那里使用它。编辑:误解了你的问题。请检查以下问题: 您可以尝试使用密码 基本上,您

我正在创建一个服务器,它可以在包含应用程序设置的web上存储cookie。服务器将接受任何数据,但我希望在将所有设置存储在cookie中之前对其进行加密,并在读取它们时对其进行解密。因此,我可以在cookie中存储非常敏感的数据,如帐户用户名和密码,而服务器无法对其执行任何操作

我现在的问题是:在客户端用JavaScript密码加密这些数据的最佳方法是什么?什么是最安全的


我需要一些代码,我可以嵌入到我的网站,并从那里使用它。

编辑:误解了你的问题。请检查以下问题:

您可以尝试使用密码

基本上,您使用密码作为密钥,然后对字符串进行XOR操作以使用密码进行加密。这也可以逆转

这是一个维基百科页面,这种类型的加密

示例代码

function encrypt(key, value) {
  var result="";
  for(i=0;i<value.length;++i)
  {
    result+=String.fromCharCode(key[i % key.length]^value.charCodeAt(i));
  }
  return result;
}

function decrypt()
{
 var result="";
  for(i=0;i<value.length;++i)
  {
    result+=String.fromCharCode(key[i % key.length]^value.charCodeAt(i));
  }
  return result;
}
函数加密(密钥、值){
var结果=”;

对于(i=0;i我建议在JavaScript代码中使用AES加密。有关库和链接,请参阅。您将遇到的问题是选择一个仅在客户端可用的密钥。也许您可以提示用户?或将一些未发送到服务器的客户端系统信息散列在一起。

这与OP的要求不完全一致。好的,重新阅读我承认我几次误解了OP的问题。我认为我与类似的老问题的链接应该值得你删除你的-1:)我无法散列密码。我的应用程序不需要帐户,但它支持许多API,如DropBox、FTP、SFTP和许多其他东西。这是一个开发环境。因此,他们需要输入访问API所需的一些帐户信息。我不希望应用程序的用户需要帐户才能使用它。他们可以保存所有数据在这样一个cookie中。稍后我将使所有代码开源,那么多其他人将托管该应用程序。也许人们也想托管他们自己的cookie服务器。我不想在我的服务器上存储任何用户数据。我将只是该应用程序的提供商。让我们希望该人有一个检查其否决票的习惯:3@Codemonkey例如我给了你一个+1 f或者以正确的方式更改答案;)…好的,太好了!我想这就是我搜索的;)不要使用自己的加密。建议的解决方案需要1)密钥,该密钥与加密的值一样长2)遭受统计攻击:如果使用同一密钥加密多个值,恶意方可能会解密这两个值