• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Visual Basicでの 暗号 複合 について)

Visual Basicでの暗号複合について

このQ&Aのポイント
  • Visual Basicでの暗号複合についての方法を調べましたが、日本語文字のテキストでは複合に失敗してしまうようです。
  • Windows XP pro Sp3 32bit、Visual Basic 2010 Express の環境で、暗号の複合を行うプログラムを作成しましたが、日本語文字に対応できませんでした。
  • 問題の原因と解決策について詳しく調査していますが、まだ解決方法が見つかっていません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

MSDNのサンプルはマルチバイトを考慮してませんね^^; test.txt ↑このファイルを「SHIFT-JIS」ではなくUTF8として保存してあげると、全角でも複合化されると思います。 ↓参考URL http://dobon.net/vb/dotnet/string/encryptstring.html

220mg
質問者

お礼

1050YEN さん ありがとうございます。 テキストファイル"C:\temp\test.txt"をUTF-8 で保存し直しましたところ、無事、日本語文字 も暗号/複合、正常動作しました。 即の回答で解決していただき、深く感謝申し上げます(o*。_。)o

その他の回答 (1)

回答No.2

おまけで、、、 複合化部分はかってにSJISで出力されるのが気持ち悪ければ、出力部分を変更してあげるとよいです。 Sub DecryptFile(ByVal sInputFilename As String, _     ByVal sOutputFilename As String, _     ByVal sKey As String)  Dim DES As New DESCryptoServiceProvider()  'このプロバイダには 64 ビット キーと IV が必要です。  'DES アルゴリズム用の秘密キーを設定します。  DES.Key() = ASCIIEncoding.ASCII.GetBytes(sKey)  '初期化ベクタを設定します。  DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)  '暗号化されたファイルを読み込むためのファイル ストリームを作成します。  Dim fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)  'DES のインスタンスから DES Decryptor を作成します。  Dim desdecrypt As ICryptoTransform = DES.CreateDecryptor()  '受け取ったバイトに対して読み取りと DES 復号化変換を行うように設定された CryptoStream を作成します。  Dim cryptostreamDecr As New CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read)  ''復号化されたファイルの内容を出力します。  Dim s As String = New StreamReader(cryptostreamDecr).ReadToEnd  fsread.Close()  Dim sw As New System.IO.StreamWriter(sOutputFilename, False, System.Text.Encoding.UTF8)  'TextBox1.Textの内容を書き込む  sw.Write(s)  '閉じる  sw.Close() End Sub どうしても読み込みファイルをSJISで行いたいのであれば、読み込み部分の改造が必要です。 ↓これらが参考になります。 http://dobon.net/vb/dotnet/file/readfile.html http://dobon.net/vb/dotnet/file/writefile.html http://dobon.net/vb/dotnet/file/filestream.html

220mg
質問者

お礼

1050YEN さん 補足のコメントをいただき、ありがとうございます。 教えていただいたコードで振る舞いを確認してみます。 出力前がUTF-8で、後がS-JISのままだと、確かにあまり行儀良くない状態ですよね。。。 1050YEN さんのコードを反映させていただこうと思います。 URLの件は、後学のため、熟読させていただきます。 勉強させていただき、幸甚ですヾ(〃^∇^)ノ

関連するQ&A