2017-01-14 3 views
0

データ(主にテキストファイルと画像)を暗号化しようとしていますが、特殊文字(例:度合いの文字)が出現するまでうまくいきます。復号化されたファイルは、実際の文字の代わりにこの文字hasを持っています。すべての文字で暗号化が機能しない

現在、私はこのウェブサイト上で示したように、ファイルを暗号化するためにはRijndael暗号を使用しています: https://www.codeproject.com/Tips/704372/How-to-Use-Rijndael-ManagedEncryption-with-Csharp

私はすべての文字テキストで開いた画像では(また、それらを、それを変更することについては行くだろうかエディタ)は正しく解読されますか?

他のもの:データ、特に画像を暗号化するのに適した方法ですか?そうでない場合は、正しい方向に私を向けるか、それを説明する記事にリンクしてください。

+1

イメージは*文字*で構成されていません。いつでもキャラクターを扱っているなら、おそらくデータを失うでしょう。しかし、どのコードを使用しているのかわからない(CodeProjectページの内容を超えている)ので、あなたを助けるのは非常に難しいです。 –

+0

私はCodeProjectにあるコードを使用しています。私はここにコードをコピー/貼り付けなければならないか分からなかった。 –

+0

これらのメソッドを呼び出す必要があるので、それ以上のものを使用する必要があります - そして、それは少なくともその問題の部分であると思われます。あなたはイメージをテキストとして読んでいます。そうしなければならないのは、それらのメソッドだけがテキストを扱うからです。イメージはテキストではありません。正直言って、私はそのコードをまったく使用しないでしょう... –

答えて

-1

ファイルを大きくすることができますが、ファイルをまずbase64エンコーディングに変換してから、適切に暗号化/復号化する必要があります。もちろん、より良い解決法である可能性は高いですが、私は以前あなたの問題に遭遇していません。

+1

「テキスト表現ではなく、バイナリデータを暗号化する」とは... –

1

まあ、明らかに、あなたが使用するコードスニペットなしで言うことは不可能です。しかし、私はあなたが解読した後に間違ったエンコーディングを使って文字列に変換すると思っています。

  1. 暗号化されているバイトがバイトを訂正する復号化され得ることを
  2. チェック(おそらくバイトのカップルで、この1つのシンボルを暗号化/復号化)
  3. を確認し、コードスニペットを提供します:だから私はあなたのことを示唆していますバイトと逆に変換するときに同じエンコーディングがあること
関連する問題