2011-04-25 93 views
1

我正在創建一個服務器,它可以在Web上存儲包含應用程序設置的Cookie。服務器將接受任何數據,但我想先加密所有設置,然後再將它們存儲在cookie中,並在讀取它們時將其解密。因此,我可以存儲非常敏感的數據,例如帳戶用戶名& Cookie中的密碼和服務器無法對其執行任何操作。Javascript - 使用密碼加密數據的最佳方法

我現在的問題是:在客戶端使用JavaScript密碼加密這些數據的最佳方式是什麼?什麼是最安全的?

我需要一些代碼,我可以嵌入到我的網站並從那裏使用它。

+1

[SSL](http://en.wikipedia.org/wiki/Ssl)... – 2011-04-25 20:35:27

回答

8

我建議在你的JavaScript代碼中使用AES加密。有關圖書館和鏈接,請參閱Javascript AES encryption。您遇到的麻煩是挑選僅在客戶端可用的密鑰。也許你可以提示用戶?或者將未發送到服務器的一些客戶端系統信息散列在一起。

+0

好的,太棒了!我認爲這就是我所搜索的;) – 2011-04-25 20:44:22

0

編輯:誤解了你的問題。看看這個問題,而不是:

What encryption algorithm is best for encrypting cookies?

+0

這並不是OP所要求的。 – 2011-04-25 20:34:44

+0

好的,重讀了OP的問題幾次,我承認錯誤地理解了他的問題。我認爲我的鏈接到類似的老問題應該值得你刪除你的-1,但:) – Hubro 2011-04-25 20:37:58

+0

@Codemonkey ...我沒有投票...別人沒有 – 2011-04-25 20:38:59

2

你可以嘗試用密碼Vernam Cypher

基本上你使用密碼作爲密鑰,然後XOR字符串來加密密碼。這也可以逆轉。

這裏是一個維基百科頁面這種類型的加密http://en.wikipedia.org/wiki/XOR_cipher

示例代碼

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; 
} 

我沒有測試過這一點,但它可能關閉。你會注意到加密和解密功能應該是相同的

相關問題