暗号化(DES)について ※VB.NET


おさる  2004-03-01 10:08:17  No: 112122  IP: [192.*.*.*]

はじめまして。

以下の事象について
ご意見頂ければ幸いです。

MSDN-Visual Basic .NET を使用してファイルの暗号化および復号化を行う方法
にあるサンプルで暗号化のPGMを作ってみたのですが、
全角文字が『暗号化』⇒『復号化』の手順で操作すると全角文字がバグって正しく復号化できません。文字コード等の関係なのかとは思うのですが、
この対応方法を知っている方がいましたら教えて頂ければと思います。
以上、よろしくお願い致します。

編集 削除
ねご  2005-11-05 23:12:39  No: 112123  IP: [192.*.*.*]

MSDNに記載されているサンプルではUTF-8で記述されたTEXTファイルの
暗号化:復号化のみに対応しています。


DOBON.netなんかには
  http://dobon.net/vb/dotnet/string/encryptfile.html

shift-Jisとかで使えるように
少しいじったコードが載っていますから
ちょっとのぞいてみるといいかもしれません。

私も初心者なんであんまり詳しいことかけなくてすいません。

編集 削除
牙龍  2005-11-07 20:05:53  No: 112124  IP: [192.*.*.*]

暗号化は使っていますが、文字化けは起こっていないです。
文字をバイト配列にする段階で、
Encoding.Unicode.GetString
で変換しています。

それと、初回の暗号・複合にエラーが起こる事もあります。
暗号システム確認として、文字を暗号化、すぐに複合化で、
同じ文字が出るまでループさせるという、確認作業を
しておいた方がいいですよ。

編集 削除
牙龍  2005-11-07 20:11:38  No: 112125  IP: [192.*.*.*]

補足です

Encoding.Unicode.GetBytes→暗号用のバイト配列にする
Encoding.Unicode.GetString→複合した後の文字列に戻す

アスキー文字(半角英数)だけなら
Encoding.ASCII.GetBytesもつかいますが、
ほとんどunicodeを使っています。

編集 削除