2012-04-28 24 views
3

短くて、私はDESを使用していますが、鍵交換用にRSAを使用してパスワードを暗号化しています。パスワードは16文字以下です。 問題は暗号化された鍵RSA暗号化キーを復号化できない

暗号化:私はここに を解読私のRSA暗号化だとコードを復号化するためには大きすぎるなり - 私は「ASD」そして

byte[] plaintext = utf8.GetBytes(localpwd); 
    byte[] ciphertext = rsaservice.Encrypt(plaintext, false); 
    string cipherresult = Convert.ToBase64String(ciphertext); 

私は上の暗号化キーを印刷するようlocalpwdをしようとしてきましたテキストボックスを開き、復号化を試してください

byte[] ciphertext = utf8.GetBytes(filetest.Text); 
    byte[] plain = rsaservice.Decrypt(ciphertext, true); 
    string plaintext = utf8.GetString(plain); 

「暗号化されるデータがこのモジュラス256バイトの最大値を超えています」というメッセージが表示されます。 大きな鍵のサイズを暗号化して解読できるように鍵サイズを大きくしようとしましたが、鍵を大きくすると暗号化されたデータのサイズが大きくなり、同じエラーが発生します 助けてください!

+5

私はToBase64String 'の逆を見ていないよ()は'私は戻って、文字列にバイトのNADに変換取得するには、UTF8エンコーディングを使用してい –

+0

は再び –

答えて

5
//byte[] ciphertext = utf8.GetBytes(filetest.Text); 
    byte[] ciphertext = Convert.FromBase64String(filetest.Text); 
+0

はあなたの先生が持っている、それは簡単なことだろうと思ったことはありませんWOWちょうど私の人生を救いました:Dあなたに感謝します –

+0

私はユニコードを使用することは可能ですか?私はネットワークストリームを送信しようとしています。私はBase64文字列のためにそれを行うことはできません。 –

+0

すべての文字列をUnicodeにエンコードすることができます。 –