暗号化復号化プログラムを作成しようとしていますが、復号化機能に問題があります。復号化機能が動作しないc#
何とか私は "テキスト"と呼ばれる空の文字列に "ReadToEnd()"というストリームリーダーを保存できません。
私はインターネット上で関数arroundを見つけました。変数名を変更し、 "using"ではなく "IDisposed"を使用して解決しようとしました。私はそれを解決することができませんでした。
static string Decrypt(byte[] cipherText, byte[] Key, byte[] IV)
{
string text = String.Empty;
// Create an Aes object
// with the specified key and IV.
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
// Create a decrytor to perform the stream transform.
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
// Create the streams used for decryption.
using (MemoryStream msDecrypt = new MemoryStream(cipherText))
{
using (CryptoStream cs = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Write))
{
using (StreamReader srDecrypt = new StreamReader(cs))
{
// Read the decrypted bytes from the decrypting
stream
// and place them in a string.
text = srDecrypt.ReadToEnd();
}
}
}
}
return text;
}
テキスト文字列のみ、この関数で定義され、エラーがラインに来る:
テキスト= srDecrypt.ReadToEnd()。
そして、それは言う:
Crypt.cs(145,29):エラーCS0136:それは に異なる意味を与えるため、「テキスト」という名前のローカル変数は、このスコープ内で宣言されていない できます " 何か他のコンパイルを示すためにスコープ「は既に `親または現在では使用され、」テキストに失敗しました:有効ではありません1つのエラー(s)は、0の警告私はあなたがここにいくつかのコードを逃すと思う
エラーは何行ですか? **実際のコード**、画像ではなくポストコード。あなたが 'string text = String.Empty();'を持つ場所を推測しなければならない場合は、クラスに 'text'という名前の変数が既に存在している可能性があります。 –
'ストリーム'の後にコードに欠損がありますが、ビットマップへのリンクではなく、コードを(テキストとして)StackOverflowに投稿する方がずっと簡単です。 –
私はなぜ*多くの人がコードとエラーテキストの代わりに自分のコードとエラーの写真を投稿する方が好きであるか知りたいです。たぶんこれはメタトピックです...しかし、なぜそれほど頻繁に起こりますか? –