• 締切済み

テキストの暗号化

 VB6.0のwriteステートメントでテキストファイルを作成し、 VB.NETのStreamReaderで読み込むプログラムを書いています。  暗号化とまではいかないまでも、このプログラムに少し手を加えて、 作成したテキストファイルをメモ帳やワードパットなどでは読めないようにしてみたいのです。  実際にどのような方法があるのかと、その具体的な手順をご教授頂ければ幸いです。  ちなみに当方、素人に毛が生えた程度のレベルです。  よろしくお願いします。

みんなの回答

  • rouden
  • ベストアンサー率30% (13/43)
回答No.2

補足を読みました。 日本語(2バイト文字)も含んでいて、バイナリで出力(保存)みたいなことを考えているのですか・・・。 いちお、自分のところにそのことをほぼ完全(?)に満たす『暗号・復号』が出来るプログラムがありましたが・・・、「VB.NET」で作成されていて、「StreamReader」を使わずにバイナリファイルを読み書きするプログラムです。 FileOpen(・・・省略・・・, OpenMode.Binary) でファイルを開いて、 FileGet(・・・省略・・・) で読み込んで FilePut(・・・省略・・・) で書き込む それでもよろしければ、(暗号・復号)プログラムコードを丸ごと(自分のホームページで)公開しますけど・・・。

noname#204648
質問者

お礼

返事が遅くなり大変申し訳ありませんでした。 更なる回答、ありがとうございました。

noname#204648
質問者

補足

ヒントを頂きありがとうございました。公開まで申し出て頂けるなんて・・・ ただ、この件に関しましては当分保留としたまま、次へ進むことになりました。 再度この話が持ち上がったときに、こちらのヒントを元にもう一度検討してみます。 解決とはいきませんでしたが、気持ちとして少々のポイントをつけさせて頂きます。 ありがとうございました。

  • rouden
  • ベストアンサー率30% (13/43)
回答No.1

自分が以前作成した、簡単な暗号プログラムです。参考になればいいのですが・・・。 ちなみに、この暗号プログラムは1バイト文字にしか対応していません。 「Visual Basic .NET」で作成されています。 Dim I As Integer , C As Integer Dim Max As Integer Dim Str1 As String '暗号前の文章を入れる変数 Dim Str2 As String '暗号後の文章を入れる変数 Str1 = "abcdefg" '暗号化する文章 Max = Len(Str1) '暗号化する文章の文字数を取得 For I = 1 to Max C = Asc(Mid(Str1 ,I ,1)) '文字コード(十進数)を取得 C += 10 '文字コードを「10」ずらす '▽エラー回避処理▽ If 256 < C Then C -= 256 Else If C < 0 Then C += 256 End If '△エラー回避処理終わり△ Str2 &= Chr(C) '文字コードを文字に戻して変数に保存 Next I Msgbox(Str2) '暗号結果を表示(「qrstuvw」と表示されるはずです)

noname#204648
質問者

お礼

お返事ありがとうございます。

noname#204648
質問者

補足

説明不足ですみません。 テキストの内容に、日本語も含んでいるんです。 Unicodeで出力するとか、バイナリ?なども考えているんですけど・・・

関連するQ&A