コンテンツにスキップ

blake2.h

Functions

Name
int wc_InitBlake2b(Blake2b * b2b, word32 digestSz)
この関数は、Blake2ハッシュ関数で使用するためのBlake2b構造体を初期化します。
int wc_Blake2bUpdate(Blake2b * b2b, const byte * data, word32 sz)
この関数は、指定された入力データでBlake2bハッシュを更新します。この関数はwc_InitBlake2bの後に呼び出され、最終ハッシュ(wc_Blake2bFinal)の準備ができるまで繰り返されます。
int wc_Blake2bFinal(Blake2b * b2b, byte * final, word32 requestSz)
この関数は、以前に提供された入力データのBlake2bハッシュを計算します。出力ハッシュの長さはrequestSzになります。requestSz==0の場合は、b2b構造体のdigestSzが使用されます。この関数は、wc_InitBlake2bの後、および必要な各入力データに対してwc_Blake2bUpdateが処理された後に呼び出す必要があります。

Functions Documentation

function wc_InitBlake2b

int wc_InitBlake2b(
    Blake2b * b2b,
    word32 digestSz
)

この関数は、Blake2ハッシュ関数で使用するためのBlake2b構造体を初期化します。

Parameters:

  • b2b 初期化するBlake2b構造体へのポインタ
  • digestSz 実装するblake 2ダイジェストの長さ

See: wc_Blake2bUpdate

Return: 0 Blake2b構造体の初期化とダイジェストサイズの設定に成功した場合に返されます。

Example

Blake2b b2b;
// 64バイトダイジェストでBlake2b構造体を初期化
wc_InitBlake2b(&b2b, 64);

function wc_Blake2bUpdate

int wc_Blake2bUpdate(
    Blake2b * b2b,
    const byte * data,
    word32 sz
)

この関数は、指定された入力データでBlake2bハッシュを更新します。この関数はwc_InitBlake2bの後に呼び出され、最終ハッシュ(wc_Blake2bFinal)の準備ができるまで繰り返されます。

Parameters:

  • b2b 更新するBlake2b構造体へのポインタ
  • data 追加するデータを含むバッファへのポインタ
  • sz 追加する入力データの長さ

See:

Return:

  • 0 指定されたデータでBlake2b構造体の更新に成功した場合に返されます
  • -1 入力データの圧縮中に失敗した場合に返されます

Example

int ret;
Blake2b b2b;
// 64バイトダイジェストでBlake2b構造体を初期化
wc_InitBlake2b(&b2b, 64);

byte plain[] = { // 入力を初期化 };

ret = wc_Blake2bUpdate(&b2b, plain, sizeof(plain));
if( ret != 0) {
    // blake2bの更新エラー
}

function wc_Blake2bFinal

int wc_Blake2bFinal(
    Blake2b * b2b,
    byte * final,
    word32 requestSz
)

この関数は、以前に提供された入力データのBlake2bハッシュを計算します。出力ハッシュの長さはrequestSzになります。requestSz==0の場合は、b2b構造体のdigestSzが使用されます。この関数は、wc_InitBlake2bの後、および必要な各入力データに対してwc_Blake2bUpdateが処理された後に呼び出す必要があります。

Parameters:

  • b2b 更新するBlake2b構造体へのポインタ
  • final blake2bハッシュを格納するバッファへのポインタ。 requestSzの長さである必要があります
  • requestSz 計算するダイジェストの長さ。これがゼロの場合、 代わりにb2b->digestSzが使用されます

See:

Return:

  • 0 Blake2bハッシュの計算に成功した場合に返されます
  • -1 Blake2bハッシュの解析中に失敗した場合に返されます

Example

int ret;
Blake2b b2b;
byte hash[64];
// 64バイトダイジェストでBlake2b構造体を初期化
wc_InitBlake2b(&b2b, 64);
... // wc_Blake2bUpdateを呼び出してハッシュにデータを追加

ret = wc_Blake2bFinal(&b2b, hash, 64);
if( ret != 0) {
    // blake2bハッシュの生成エラー
}

Source code


int wc_InitBlake2b(Blake2b* b2b, word32 digestSz);

int wc_Blake2bUpdate(Blake2b* b2b, const byte* data, word32 sz);

int wc_Blake2bFinal(Blake2b* b2b, byte* final, word32 requestSz);

Updated on 2025-12-12 at 03:08:17 +0000