0

私の C# プログラムには、DES 暗号化で暗号化された暗号化部分があります。「005」を暗号化するだけです。この部分が欲しいのですが、RSA 暗号化が必要です。C# コードの使い方がわかりません。誰か助けてくれますか

/*********************Message Encryption******************************/
string smsg = "005";
string venc;
DESCryptoServiceProvider iDESCryptoServiceProvider = new DESCryptoServiceProvider();
System.Text.Encoding iEncoding = new System.Text.UTF8Encoding();
byte[] vkey = iEncoding.GetBytes("12345678");
byte[] viv = { 1, 2, 3, 4, 5, 6, 7, 8 };
ICryptoTransform iICryptoTransform = iDESCryptoServiceProvider.CreateEncryptor(vkey, viv);
byte[] vmsg = iEncoding.GetBytes(smsg);
byte[] benc = iICryptoTransform.TransformFinalBlock(vmsg, 0, vmsg.Length);
venc = System.Convert.ToBase64String(benc);
/****************Message Encryption******************************/
4

1 に答える 1

0

これは、より暗号化のタスクです。

とにかく、行う必要があるのは、DESCryptoServiceProvider を RSACryptoServiceProvider に交換することです。また、RSA は PKI 暗号であり、DES は対称ブロック暗号であるため、適切なパラメーターなどを作成する必要があります。したがって、実際の暗号化も別のキーを使用して行われます。それが達成する目標の 1 つである場合です。

最後に、必要なコードはすべて http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.aspxにあります。

編集

わかりました、あなたの回答から私が集めたものから、あなたは実際にはRSAを使いたくないでしょう. 他の暗号ですよね?

その場合、選択できるものは、.NET のライブラリをソースとして保持したい場合System.Security.Crytography、4 つの対称暗号化 (同じタイプを読み取る) アルゴリズムから選択できます。これらは:

それらはすべて非常に似たインターフェースを持っているので、そのうちの1つを選択して(私のアドバイスはAESを選択することです)、コードを作り直してください。それらは同一のインターフェイスを持っているため (クイックルックから何かを見逃さなかった場合)、実際に行う必要があるのは、出現するすべての DES を AES に置き換えることだけです。それと同じくらい簡単です。

お役に立てれば。

于 2012-04-23T13:20:01.007 に答える