我使用IP,USERID,DATETIME在我的Web App中創建安全代碼。我想知道如何創建安全代碼的更多信息,e.g:如何爲網絡創建識別碼或密鑰?
string str="192.168.0.1,myid,20121227,12345";
然後我加密的字符串:
string strC=encrypt(str);
然後串strC
是我的安全碼。
我使用IP,USERID,DATETIME在我的Web App中創建安全代碼。我想知道如何創建安全代碼的更多信息,e.g:如何爲網絡創建識別碼或密鑰?
string str="192.168.0.1,myid,20121227,12345";
然後我加密的字符串:
string strC=encrypt(str);
然後串strC
是我的安全碼。
一般來說,你用的好solution.sometime我們需要了解我們的主要的內容,所以你沒有使用加密方法(因爲每個加密方法的解密方法) 有時我們只需要一鍵把它分配給我們的用戶,所以在這些情況下,我們可以使用單向算法,如哈希。最後我說你使用了一種很好的方式,但我有另一個解決方案的提議(也許你已經記住了這個提議)。
改變你加密/解密的方法是這樣的:
private string Encrypt (string str)
{
//Encryption str
//...
return HttpUtility.HtmlEncode(EncryptedStr);
}
private string Decrypt (string str)
{
str = HttpUtility.HtmlDecode(str);
//Decryption str
//...
return DecryptedStr;
}
這將提高你的解決方案,並通過這些方法,你可以在查詢字符串變量
方面使用了密鑰,阿里
如果,通過「安全代碼」,你的意思是「認證標識符」,那麼你甚至不需要加密任何東西;你真正想要的是Message Authentication Code。這是一個完整性保存機制,告訴你「用戶呈現的標識符是我創建的標識符」。
如果通過「安全碼」,您確實是指「會話密鑰」,那麼就不需要加密:獲取有關會話的一些信息並將其與大量隨機數據(例如,來自java.security。 SecureRandom)使用密碼散列函數。這將創建一個既獨特又不可測的加密密鑰。更好的是像Diffie-Hellman這樣的適當的密鑰交換算法,除非你需要擔心中間人攻擊,在這種情況下,你需要某種形式的authenticated key exchange。
那麼...你是什麼意思的「安全碼」?
3KS!我想知道你的解決方案在你的應用程序。 – solan 2011-12-28 06:21:05
遺憾的是,我的回覆意外地被張貼出來了。我把它填好並再次放入 – 2011-12-28 06:23:00