2011-12-28 69 views
1

我使用IP,USERID,DATETIME在我的Web App中创建安全代码。我想知道如何创建安全代码的更多信息,e.g:如何为网络创建识别码或密钥?

string str="192.168.0.1,myid,20121227,12345"; 

然后我加密的字符串:

string strC=encrypt(str); 

然后串strC是我的安全码。

回答

0

一般来说,你用的好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; 

} 

这将提高你的解决方案,并通过这些方法,你可以在查询字符串变量

方面使用了密钥,阿里

+0

3KS!我想知道你的解决方案在你的应用程序。 – solan 2011-12-28 06:21:05

+0

遗憾的是,我的回复意外地被张贴出来了。我把它填好并再次放入 – 2011-12-28 06:23:00

0

如果,通过“安全代码”,你的意思是“认证标识符”,那么你甚至不需要加密任何东西;你真正想要的是Message Authentication Code。这是一个完整性保存机制,告诉你“用户呈现的标识符是我创建的标识符”。

如果通过“安全码”,您确实是指“会话密钥”,那么就不需要加密:获取有关会话的一些信息并将其与大量随机数据(例如,来自java.security。 SecureRandom)使用密码散列函数。这将创建一个既独特又不可测的加密密钥。更好的是像Diffie-Hellman这样的适当的密钥交换算法,除非你需要担心中间人攻击,在这种情况下,你需要某种形式的authenticated key exchange

那么...你是什么意思的“安全码”?