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

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

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

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

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


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

SHA1CryptoServiceProvider

c.cs
using System.Security.Cryptography;
using System;
using System.Text;
class zzz
{
public static void Main()
{
SHA1CryptoServiceProvider s;
s = new SHA1CryptoServiceProvider ();
byte [] o,r;
o = Encoding.UTF8.GetBytes("Vijay");
r = s.ComputeHash(o);
String t = Encoding.ASCII.GetString(r);
Console.WriteLine(t);
String ss = Convert.ToBase64String(r);
Console.WriteLine(ss);
}
}

コマンド プロンプト ウィンドウ
C:\encrypt>c
^↕???+?=?[$F??S???14
XhK3wv0rlj3lWyRGo9ZTs8zaMTQ=

SHA1CryptoServiceProvider のコードは、SHA1 のルールに従ってハッシュを計算できます。そのためには、SHA1CryptoServiceProvider 型のインスタンスを作成します。このクラスは SHA1 という名前の抽象クラスから派生していることに注意する必要があります。

暗号化クラスの処理はバイトの配列と相性がよく、これは人間の作業スタイルとは対照的です。私たち人間はいつでも文字列の方を好みます。

このクラスには ComputeHash という名前のメソッドがあり、バイトの配列を受け取ります。このメソッドは、受け取ったバイト シーケンスをハッシュに変換し、その値を返します。SHA1 ハッシュであるこの値のサイズは 20 バイトですが、暗号に関する場合は 160 ビットと表現します。

次の処理は、このバイト配列を表示することです。最も簡単な方法は、ループ構造を使用して、1 バイトずつ配列全体を表示することです。この方法を使用しない場合もあります。ASCII プロパティの GetString メソッドは文字列を返します。唯一の問題は、バイト配列には 0 ~ 255 の範囲の値が含まれ、表示できない文字が存在することです。そのため、バイト配列を Base64 文字列に変換してから表示します。表示される文字列には、多くの疑問符が含まれます。

Vijay のハッシュ値が出力に表示されます。

コメント

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

発売中

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

フォーラムの最新ポスト