![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |

| BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
|---|---|---|---|
| ○ | ○ | ○ | ○ |
| パブリック関数 | |
|---|---|
| SFCError |
GetResult(
VoidPtr data
, SInt32Ptr size
) GetResult( SFXBufferPtr data )
すべての SFBHash::Update 呼び出し終了後のハッシュ結果を取得します。
|
| static SFBHashSmp |
NewInstance(
AEECLSID clsid = AEECLSID_MD5
) SFBHash クラスのインスタンスを生成します。
|
| Void |
Restart( Void )
ハッシュ操作を再開します。
|
| SFCError |
SetKey(
VoidConstPtr key
, SInt32 keySize
) SetKey( SFXBufferConstRef key )
HMAC 鍵付きハッシュの鍵を初期化します。
|
| Void |
Update(
VoidPtr data
, SInt32 dataLength
) Update( SFXBufferPtr data )
ハッシュ オブジェクトにデータを追加更新します。
|
[ public ] SFCError GetResult( VoidPtr data // ハッシュ結果を取得するデータへのポインター SInt32Ptr size // バッファ data のサイズへのポインター // リターン時は、ハッシュ結果のサイズを格納する );
[ public ] SFCError GetResult( SFXBufferPtr data // ハッシュ結果を取得するためのバッファ // サイズは自動的に変換される );
注意:バッファサイズは SInt32 の値までの制限があります。
[ public, static ] SFBHashSmp NewInstance( AEECLSID clsid = AEECLSID_MD5 // ハッシュアルゴリズムの ClassID );
使用できる ClassID には次のものがあります。
| AEECLSID_MD2 |
| AEECLSID_MD5 |
| AEECLSID_SHA1 |
[ public ] Void Restart(Void);
新しいデータ ストリームをハッシュする場合に必要となります。
異なるデータ ストリームを立て続けにハッシュし、ログに表示します。
AChar srcString[] = {"message for you..."};
AChar srcStringNext[] = {"next message for you..."};
AChar result[32] = {0};
SInt32 len = 32;
// SFBHash クラスのインスタンスを生成する
SFBHashSmp hash = SFBHash::NewInstance();
// ハッシュを行う
hash->Update(srcString, STRLEN(srcString));
// ハッシュ後の結果を取得する
hash->GetResult(result, &len);
// ハッシュ後の結果をログに表示する
TRACE("*** result: %s ***", result);
// 再度ハッシュを行う
ZEROAT(result);
len = 32;
// データストリームの初期化する
hash->Restart();
// 1 バイトづつハッシュを行う
ACharPtr i = srcStringNext;
for (; *i; i++)
hash->Update(i, 1);
// ハッシュ後の結果を取得する
hash->GetResult(result, &len);
// ハッシュ後の結果をログに表示する
TRACE("*** next result: %s ***", result);
[ public ] SFCError SetKey( VoidConstPtr key // 鍵へのポインター SInt32 keySize // 鍵サイズ );
[ public ] SFCError SetKey( SFXBufferConstRef key // 鍵へのポインター );
この関数は、BREW 3.0.1 から使用可能です
![]() |
注意 |
|---|---|
この関数をBREW 3.0.1 以前の BREW で使用すると、アプリケーションがクラッシュします。 | |
[ public ] Void Update( VoidPtr data // ハッシュするデータへのポインター SInt32 dataLength // ハッシュする( pbData に格納された )データの長さ );
[ public ] Void Update( SFXBufferPtr data // ハッシュするデータへのポインター // null の場合、何もしない );
不連続の長いデータ ストリームをハッシュする場合、 この関数を複数回呼び出します。
文字列をハッシュし、ログに結果を表示します。
AChar srcString[] = {"message for you..."};
AChar result[32] = {0};
SInt32 len = 32;
// SFBHash クラスのインスタンスを生成する
SFBHashSmp hash = SFBHash::NewInstance();
// ハッシュを行う
hash->Update(srcString, STRLEN(srcString));
// ハッシュ後の結果を取得する
hash->GetResult(result, &len);
// 結果をログに表示する
TRACE("*** result: %s ***", result);
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|