前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBHashCTX
IHashCTX インターフェースのラッパークラスです。
#include <SFBHashCTX.h.hpp>
class SFBHashCTX : public SFBQuery;
SFMTYPEDEFWRAPPER(SFBHashCTX)

継承図

SFBHashCTX クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IHashCTX

メンバ

パブリック関数
SFCError Final( VoidPtr hash , SInt32 hashSize , VoidPtr result , SInt32Ptr resultSize )
SFBHashCTX::Update の呼び出し完了後にハッシュ結果を取得します。
SFCError Final( SFXBufferPtr hash , SFXBufferPtr result )
SFBHashCTX::Update の呼び出し完了後にハッシュ結果を取得します。
Void Init( VoidPtr hash , SInt32 hashSize )
ハッシュ開始前、またはハッシュ処理を再開始するために呼び出します。
Void Init( SFXBufferPtr hash )
ハッシュ開始前、またはハッシュ処理を再開始するために呼び出します。
static
SFBHashCTXSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBHashCTX インスタンスを生成します。
SFCError SetKey( VoidPtr ctx , SInt32 ctxSize , VoidConstPtr key , SInt32 keySize )
HMAC 鍵付きハッシュの鍵を初期化します。
SFCError SetKey( SFXBufferPtr ctx , SFXBufferConstRef key )
HMAC 鍵付きハッシュの鍵を初期化します。
Void Update( VoidPtr hash , SInt32 hashSize , VoidConstPtr data , SInt32 dataLength )
ハッシュオブジェクトにデータを追加更新します。
Void Update( SFXBufferPtr hash , SFXBufferConstRef data )
ハッシュオブジェクトにデータを追加更新します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBHashCTX::Final
SFBHashCTX::Update の呼び出し完了後にハッシュ結果を取得します。
[ public ]
SFCError Final(
    VoidPtr hash           // ハッシュ コンテキスト構造体へのポインタ
    SInt32 hashSize        // ハッシュ コンテキスト構造体のサイズ
    VoidPtr result         // ハッシュ結果を取得するデータへのポインタ
    SInt32Ptr resultSize   // バッファ result のサイズへのポインタ
                           // リターン時は、ハッシュ結果のサイズを格納する
);
[ public ]
SFCError Final(
    SFXBufferPtr hash     // ハッシュ コンテキスト構造体へのポインタ
    SFXBufferPtr result   // ハッシュ結果を取得するデータへのポインタ
                           // サイズは自動的に変更される
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正なとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • 失敗したとき: SFERR_FAILED
  • hashSize が、要求されたコンテキストサイズよりも小さいとき: AEESEC_HASH_INVALID_CTX

解説

バッファサイズは SInt32 の値までの制限があります。

参照

BREW API IHASHCTX_Final


SFBHashCTX::Init
ハッシュ開始前、またはハッシュ処理を再開始するために呼び出します。
[ public ]
Void Init(
    VoidPtr hash      // ハッシュコンテキスト構造体へのポインタ
    SInt32 hashSize   // ハッシュコンテキスト構造体のサイズ
);
[ public ]
Void Init(
    SFXBufferPtr hash   // ハッシュコンテキスト構造体へのポインタ
                        // null の場合、何もしない
);

解説

これは、新しいデータストリームをハッシュする場合に必要となります。

参照

BREW API IHASHCTX_Init


SFBHashCTX::NewInstance
SFBHashCTX インスタンスを生成します。
[ public, static ]
SFBHashCTXSmp NewInstance(
    AEECLSID id                    // ハッシュアルゴリズムの ClassID
    SFCErrorPtr exception = null   // エラー値
);

解説

使用できる ClassID には次のものがあります。

AEECLSID_MD2
AEECLSID_MD5
AEECLSID_SHA1


SFBHashCTX::SetKey
HMAC 鍵付きハッシュの鍵を初期化します。
[ public ]
SFCError SetKey(
    VoidPtr ctx        // ハッシュコンテキスト構造体へのポインタ
    SInt32 ctxSize     // ハッシュコンテキスト構造体のサイズ 
    VoidConstPtr key   // 鍵へのポインタ
    SInt32 keySize     // 鍵サイズ 
);
[ public ]
SFCError SetKey(
    SFXBufferPtr ctx        // ハッシュコンテキスト構造体へのポインタ
    SFXBufferConstRef key   // 鍵へのポインタ 
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY
  • 鍵が無効のとき: AEE_CRYPT_INVALID_KEY

バージョン

この関数は、BREW 3.0.1 から使用可能です

解説

[Caution] 注意

この関数をBREW 3.0.1 以前の BREW で使用すると、アプリケーションがクラッシュします。

参照

BREW API IHASHCTX_Update


SFBHashCTX::Update
ハッシュオブジェクトにデータを追加更新します。
[ public ]
Void Update(
    VoidPtr hash        // ハッシュコンテキスト構造体へのポインタ
    SInt32 hashSize     // ハッシュコンテキスト構造体のサイズ
    VoidConstPtr data   // ハッシュするデータへのポインタ
    SInt32 dataLength   // ハッシュする( data に格納された ) データの長さ
);
[ public ]
Void Update(
    SFXBufferPtr hash        // ハッシュコンテキスト構造体へのポインタ
                             // null の場合、何もしない
    SFXBufferConstRef data   // ハッシュするデータへのポインタ
);

解説

不連続の長いデータストリームをハッシュする場合、 この関数を複数回呼び出します。

参照

BREW API IHASHCTX_Update