2011-12-28 3 views
1

私は、IP、USERID、DATETIMEを使用してWebアプリケーションにセキュリティコードを作成します。私は、セキュリティコードを作成する方法についての詳細を知りたい、例えば:ウェブ用の識別コードまたはキーを作成する方法

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

は、それから私は、文字列を暗号化:

string strC=encrypt(str); 

は、その後の文字列strCは私のセキュリティコードです。

答えて

0

一般的に、私たちは鍵の内容について知っておく必要があるので、暗号化方法を使用したときと同じように、良い解決法を使用します(各暗号化方式の解読方法があるため) このような場合、私たちはhashのような一方向アルゴリズムを使うことができます。あなたは良い方法を使っていますが、私はあなたのソリューションのために別の提案をしています。

あなたは、このようなメソッドを暗号化/復号化の変更:

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

+0

申し訳ありませんが、私の返事は偶然に投稿されました。 –

0

の場合、 "セキュリティコード"によって、あなたは本当に "認証された識別子"を意味し、次に何かを暗号化する必要はありません。あなたが本当に欲しいのはMessage Authentication Codeです。これは、 "ユーザーが提示している識別子は私が作成した識別子である"ことを伝える整合性保持メカニズムです。

「セキュリティコード」によって実際に「セッションキー」を意味する場合は、再度暗号化する必要はありません。セッションに関するいくつかの情報を取得し、多数のランダムデータ(java.securityなど)と組み合わせます。 SecureRandom)を使用します。これにより、ユニークで推測不可能な暗号化キーが作成されます。あなたが中間者の攻撃を心配する必要がある場合を除き、authenticated key exchangeの何らかの形が必要な場合は、Diffie-Hellmanのような適切な鍵交換アルゴリズムが良いでしょう。

「セキュリティコード」とはどういう意味ですか?

関連する問題