Public 型 | Public メソッド | Protected メソッド
クラス mist::hash_algorithm

ハッシュ関数を計算する基底クラス [詳細]

#include <hash_algorithm.h>

+ mist::hash_algorithmに対する継承グラフ

Public 型

typedef size_t size_type
 符号なしの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には size_t 型と同じ
typedef ptrdiff_t difference_type
 符号付きの整数を表す型.コンテナ内の要素数や,各要素を指定するときなどに利用し,内部的には ptrdiff_t 型と同じ
typedef unsigned char uint8
 符号なし8ビット整数を表す型.内部のハッシュ関数値を計算するのに利用.内部的には unsigned char 型と同じ.
typedef unsigned int uint32
 符号なし32ビット整数を表す型.内部のハッシュ関数値を計算するのに利用.内部的には unsigned int 型と同じ.
typedef unsigned long long int uint64
 符号なし64ビット整数を表す型.内部のハッシュ関数値を計算するのに利用.内部的には unsigned long long int 型と同じ.

Public メソッド

virtual void compute_hash (const void *bytes, uint64 len)=0
 data[ 0 ] から data[ len - 1 ] の len バイトのハッシュ関数値を計算する.
void compute_hash (const std::string &str)
 文字列 str のハッシュ関数値を計算する.
virtual const std::string name () const =0
 ハッシュ関数名を返す
size_type size () const
 ダイジェストバイト列の長さ
unsigned char operator[] (size_type index) const
 ダイジェスト文字列の各バイトを取得する
std::string to_string () const
 ダイジェスト文字列を返す
bool operator== (const hash_algorithm &h) const
 2つのハッシュ関数値が同一かどうかを判定する
bool operator== (const std::string &str) const
 2つのダイジェスト文字列が同一かどうかを判定する

Protected メソッド

 hash_algorithm (size_type num_digest_bytes)
 指定されたダイジェストのバイト数で初期化する(派生クラスでのみ利用可能)
 hash_algorithm (const std::string &str)
 指定されたダイジェスト文字列で初期化する(派生クラスでのみ利用可能)
virtual ~hash_algorithm ()
 ダイジェストに利用したデータを削除する

説明

ハッシュ関数を計算する基底クラス

MD2,MD4,MD5,SHA1,SHA-256,SHA-384,SHA-512 を計算するための基底クラス

注意
SHA-384,SHA-512 を計算する際に 64 ビット整数を利用するため,コンパイラが 64 ビットをサポートする必要あり.
ハッシュ関数の計算例
// ハッシュ関数を SHA1 で初期化する
// ハッシュ関数値のダイジェスト文字列を出力する
std::cout << h << std::endl;
// 別の文字列で再計算する
h.compute_hash( "あいうえお" );
// ハッシュ関数値のダイジェスト文字列を出力する
std::cout << h << std::endl;

このクラスの説明は次のファイルから生成されました:

Generated on Wed Nov 12 2014 19:44:28 for MIST by doxygen 1.8.1.2