C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: 外部テキストファイルの扱い [1]


(過去ログ 57 を表示中)

[トピック内 23 記事 (21 - 23 表示)]  << 0 | 1 >>

■32464 / inTopicNo.21)  Re[8]: 外部テキストファイルの扱い
  
□投稿者/ .SHO (664回)-(2009/02/06(Fri) 17:07:50)
No32461 (ごぶりん さん) に返信

> xorをどのようにwtIにかければいいのでしょう?

考え方を書きますね。

たとえば、0 〜 9 までの数値(バイト)に 0xaa で xor すると
それぞれ 0xAA 0xAB 0xA8 0xA9 0xAE 0xAF 0xAC 0xAD 0xA2 0xA3
になりますよね。
これが、暗号化された状態です。

この、それぞれの値に、暗号化した時と同じ値、つまり 0xaa で
xor すると、0 〜 9 に戻りますよね。

そういうことです。
引用返信 編集キー/
■32465 / inTopicNo.22)  Re[8]: 外部テキストファイルの扱い
□投稿者/ .SHO (665回)-(2009/02/06(Fri) 17:09:54)
ちなみに上の 0xaa を 0xff にすれば、επιστημη さんが言われた
0/1をひっくり返すと同じ結果になります。

引用返信 編集キー/
■32468 / inTopicNo.23)  Re[9]: 外部テキストファイルの扱い
□投稿者/ επιστημη (1672回)-(2009/02/06(Fri) 17:58:20)
επιστημη さんの Web サイト
> ちなみに上の 0xaa を 0xff にすれば、επιστημη さんが言われた
> 0/1をひっくり返すと同じ結果になります。

やってみた。ちゃんとうごくぉ。

#include <iostream>
#include <fstream>
#include <locale>
#include <string>
#include <algorithm>

using namespace std;

struct bitwise_not {
  wchar_t operator()(wchar_t x) const
  { return ~x; }
};

int main() {
  locale loc("japanese");
  wcout.imbue(loc);

  wstring input = L"これが暗号化されるべき文字列";
  wcout << L"before: " << input << endl;

  // 裏返して書く
  transform(input.begin(), input.end(), input.begin(), bitwise_not());
  {
    ofstream stream("crypt.txt", ios::binary);
    copy(reinterpret_cast<const char*>(&input[0]), 
         reinterpret_cast<const char*>(&input[0]+input.size()), 
         ostreambuf_iterator<char>(stream));
  }
  
  // 読んで裏返す
  wstring result;
  {
    ifstream stream("crypt.txt",ios::binary);
    string buffer((istreambuf_iterator<char>(stream)),(istreambuf_iterator<char>()));
    result.assign(reinterpret_cast<const wchar_t*>(&buffer[0]),
                  reinterpret_cast<const wchar_t*>(&buffer[0])+buffer.size()/sizeof(wchar_t));
  }
  transform(result.begin(), result.end(), result.begin(), bitwise_not());

  wcout << L"after:  " << result << endl;
}

引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -