DOBON.NET DOBON.NETプログラミング掲示板過去ログ

日本語の暗号化・復元化

環境/言語:[VB]
分類:[.NET]

ttp://msdn.microsoft.com/ja-jp/library/ms172831(v=vs.80).aspx
上記のサイトを参照して作ったのですが
半角英数字・記号は正常に復元化したのですが
日本語は失敗しました。
どのようにしたら日本語も正常に復元化できるのでしょうか?
  • 題名: Re[1]: 日本語の暗号化・復元化
  • 著者: Hongliang
  • 日時: 2011/07/11 9:53:17
  • ID: 28757
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
// このページまだ直ってないの!?

暗号化されたバイト列には、あらゆるバイトが存在し得ます。
そのバイト列に対して Encoding.Unicode.GetString を呼び出しちゃうと、
Unicode(UTF-16) で扱えないバイトの並びが現れる場合が出現し得ます。
その場合 GetString メソッドは ? とかに置き換えたり省略したりするので、
次に GetBytes するときに元の暗号化バイト列に戻すことが出来なくなります。

暗号化バイト列を文字列で表現したいのなら、Convert.ToBase64String を使って
Base64 で文字列化したりするようにします。
たとえばこのページなど、そうしているようです。
http://msdn.microsoft.com/ja-jp/library/ms172831
// こっちはこっちでタイトルが…

まあ文字列化する必要がない(バイト配列で持っておけばよい)のならそもそも関係ない話ですが。

DOBON.NET | プログラミング道 | プログラミング掲示板