私は、IP、USERID、DATETIMEを使用してWebアプリケーションにセキュリティコードを作成します。私は、セキュリティコードを作成する方法についての詳細を知りたい、例えば:ウェブ用の識別コードまたはキーを作成する方法
string str="192.168.0.1,myid,20121227,12345";
は、それから私は、文字列を暗号化:
string strC=encrypt(str);
は、その後の文字列strC
は私のセキュリティコードです。
私は、IP、USERID、DATETIMEを使用してWebアプリケーションにセキュリティコードを作成します。私は、セキュリティコードを作成する方法についての詳細を知りたい、例えば:ウェブ用の識別コードまたはキーを作成する方法
string str="192.168.0.1,myid,20121227,12345";
は、それから私は、文字列を暗号化:
string strC=encrypt(str);
は、その後の文字列strC
は私のセキュリティコードです。
一般的に、私たちは鍵の内容について知っておく必要があるので、暗号化方法を使用したときと同じように、良い解決法を使用します(各暗号化方式の解読方法があるため) このような場合、私たちは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;
}
これはあなたのソリューションを改善し、これらの方法によるだろうあなたは、クエリ文字列変数であなたの鍵を使用することができます
リガード、アリ
の場合、 "セキュリティコード"によって、あなたは本当に "認証された識別子"を意味し、次に何かを暗号化する必要はありません。あなたが本当に欲しいのはMessage Authentication Codeです。これは、 "ユーザーが提示している識別子は私が作成した識別子である"ことを伝える整合性保持メカニズムです。
「セキュリティコード」によって実際に「セッションキー」を意味する場合は、再度暗号化する必要はありません。セッションに関するいくつかの情報を取得し、多数のランダムデータ(java.securityなど)と組み合わせます。 SecureRandom)を使用します。これにより、ユニークで推測不可能な暗号化キーが作成されます。あなたが中間者の攻撃を心配する必要がある場合を除き、authenticated key exchangeの何らかの形が必要な場合は、Diffie-Hellmanのような適切な鍵交換アルゴリズムが良いでしょう。
「セキュリティコード」とはどういう意味ですか?
3KS!私はあなたのアプリであなたのソリューションについて知りたい。 – solan
申し訳ありませんが、私の返事は偶然に投稿されました。 –