Home / 記事 / 情報セキュリティ / アプリケーションセキュリティ / 第 8 章 : 暗号化(書籍のプレビュー) / Rijndael

e知識「e-chishiki.com」では、インドでの著名なIT著者、IT教育者、eセキュリティーの大家により作成された様々な種類のプログラミング言語に関する技術的なコンテンツを知識情報データーベースとして提供します。

オンライン書籍; Microsoft .NET Web アプリケーションセキュリティ

第 8 章 : 暗号化(書籍のプレビュー)

Microsoft .NET Web アプリケーションセキュリティ
Microsoft .NET Web アプリケーションセキュリティ


インドの情報セキュリティの大家が書き下ろした最新のセキュリティ書籍の一部をオンライン書籍としてご紹介します。書籍の情報は、こちらをご覧ください

Rijndael

対称アルゴリズムについての解説を終わる前に、Rijndael (レインダール) と呼ばれるアルゴリズムについて説明します。このアルゴリズムは、ServiceProvider には含まれません。

c.cs
using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;
class zzz
{
static void Main()
{
Rijndael r = Rijndael.Create();
FileStream f = File.Open("z.txt", FileMode.OpenOrCreate);
CryptoStream c = new CryptoStream(f,r.CreateEncryptor(r.Key, r.IV),CryptoStreamMode.Write);
StreamWriter s = new StreamWriter(c);
s.WriteLine("Vijay Mukhi2");
s.Close();
c.Close();
f.Close();
FileStream fo = File.Open("z.txt", FileMode.OpenOrCreate);
CryptoStream co = new CryptoStream(fo,r.CreateDecryptor(r.Key, r.IV),CryptoStreamMode.Read);
StreamReader so = new StreamReader(co);
string a = null;
a = so.ReadLine();
so.Close();
co.Close();
fo.Close();
Console.WriteLine(a);
}
}

コマンド プロンプト ウィンドウ
C:\encrypt>c
Vijay Mukhi2

Create メソッドで Rijndael オブジェクトの r を作成した後、z.txt という名前のファイルを作成します。

次に、CryptoStream 関数を使用してファイル ストリームに接続し、キーと IV を使用して実際の Encryption オブジェクトを作成します。ここで、暗号化オブジェクトを直接使用せず、代わりにその周りに StreamWriter ラッパーの s を作成します。データ Vijay Mukhi2 に Rijndael アルゴリズムを適用した後、お馴染みの WriteLine メソッドを使用してファイルに書き込みます。

ストリームを閉じますが、作成とは逆に StreamWriter の s、CryptoStream の c、FileStream の f の順序で行います。ストリームを閉じることで、データは確実にファイルに追加されます。z.txt には、どのような形であれ Vijay Mukhi2 を示すものはありません。

ファイルを復号化するには、z.txt ファイルを読み取り用に開き、CryptoStream オブジェクトの co を作成します。まず CreateDecryptor オブジェクトがあり、次にモードが Read であるという 2 つの点が変更されています。このオブジェクトは StreamReader の so を使用してラップされており、信頼できる ReadLine メソッドを使用してデータを読み取ります。ReadLine 関数に渡すパラメータにより、確実にファイルからのデータが最初に復号化されます。最後に、取得した値を画面に表示します。

.Net Framework によって作成される抽象化の層があるので、さまざまな形式のデータを簡単に取り扱うことができます。

コメント

コメントするにはログイン、もしくはユーザ登録を行ってください。

発売中

LET US C(上)
インド人ITエンジニアのCプログラミングのバイブル。通算100万冊以上売れています。
― 2,520円 ―

Y. Kanetkar

発売中

Introduction to Object Oriented Programming & C++
C++を例に、多彩なサンプルコードと簡潔な説明でOOPプログラミングの実際が理解できる。
2,940

Y. Kanetkar

発売中

Microsoft .NET Web Application Security
APプログラムの作り方で不正侵入の防御率を向上させる手法を解説。今までにないセキュリティーの手法を紹介します。
3,990円

Vijay Mukhi

2008年の11月発売予定

Quest C++ ビジュアルラーニングコース
これがあれば、見て聞くだけで楽しみながらプログラミングテクニックが身につきます。
― 9,975円 ―

Y. Kanetkar Asang Dani

2008年の11月発売予定

Programmer's Guide to Web Application Security
Web System への侵入方法と原理を解説する事により、防止方法を理解することが出来る。
3,990

Vijay Mukhi

フォーラムの最新ポスト