Files
wolfssl/doc/dox_comments/header_files-ja/sha.h
T

142 lines
3.3 KiB
C
Raw Normal View History

2022-06-16 08:24:18 +09:00
/*!
\ingroup SHA
2025-10-26 00:51:40 +09:00
\brief この関数はSHAを初期化します。これはwc_ShaHashによって自動的に呼び出されます。
\return 0 初期化に成功した場合に返されます
\param sha 暗号化に使用するsha構造体へのポインタ
2022-06-16 08:24:18 +09:00
_Example_
\code
Sha sha[1];
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaFinal(sha, hash);
}
\endcode
2025-10-26 00:51:40 +09:00
2022-06-16 08:24:18 +09:00
\sa wc_ShaHash
\sa wc_ShaUpdate
\sa wc_ShaFinal
*/
2025-12-18 18:08:59 +09:00
int wc_InitSha(wc_Sha* sha);
2022-06-16 08:24:18 +09:00
/*!
\ingroup SHA
2025-10-26 00:51:40 +09:00
\brief 長さlenの提供されたバイト配列を継続的にハッシュするために呼び出すことができます。
\return 0 ダイジェストへのデータ追加に成功した場合に返されます。
\param sha 暗号化に使用するsha構造体へのポインタ
\param data ハッシュ化されるデータ
\param len ハッシュ化されるデータの長さ
2022-06-16 08:24:18 +09:00
_Example_
\code
Sha sha[1];
2025-10-26 00:51:40 +09:00
byte data[] = { // ハッシュ化されるデータ };
2022-06-16 08:24:18 +09:00
word32 len = sizeof(data);
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaFinal(sha, hash);
}
\endcode
2025-10-26 00:51:40 +09:00
2022-06-16 08:24:18 +09:00
\sa wc_ShaHash
\sa wc_ShaFinal
\sa wc_InitSha
*/
int wc_ShaUpdate(wc_Sha* sha, const byte* data, word32 len);
/*!
\ingroup SHA
2025-10-26 00:51:40 +09:00
\brief データのハッシュ化を完了します。結果はhashに格納されます。
sha構造体の状態をリセットします。
\return 0 完了に成功した場合に返されます。
\param sha 暗号化に使用するsha構造体へのポインタ
\param hash ハッシュ値を保持するバイト配列。
2022-06-16 08:24:18 +09:00
_Example_
\code
Sha sha[1];
2025-10-26 00:51:40 +09:00
byte data[] = { ハッシュ化されるデータ };
2022-06-16 08:24:18 +09:00
word32 len = sizeof(data);
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaFinal(sha, hash);
}
\endcode
2025-10-26 00:51:40 +09:00
2022-06-16 08:24:18 +09:00
\sa wc_ShaHash
\sa wc_InitSha
\sa wc_ShaGetHash
*/
int wc_ShaFinal(wc_Sha* sha, byte* hash);
/*!
\ingroup SHA
2025-10-26 00:51:40 +09:00
\brief 初期化されたSha構造体によって使用されるメモリをクリーンアップするために使用されます。
\return 戻り値なし。
\param sha 解放するSha構造体へのポインタ。
2022-06-16 08:24:18 +09:00
_Example_
\code
Sha sha;
wc_InitSha(&sha);
2025-10-26 00:51:40 +09:00
// shaを使用
2022-06-16 08:24:18 +09:00
wc_ShaFree(&sha);
\endcode
2025-10-26 00:51:40 +09:00
2022-06-16 08:24:18 +09:00
\sa wc_InitSha
\sa wc_ShaUpdate
\sa wc_ShaFinal
*/
2025-12-18 18:08:59 +09:00
void wc_ShaFree(wc_Sha* sha);
2022-06-16 08:24:18 +09:00
/*!
\ingroup SHA
2025-10-26 00:51:40 +09:00
\brief ハッシュデータを取得します。結果はhashに格納されます。sha構造体の状態はリセットされません。
\return 0 完了に成功した場合に返されます。
\param sha 暗号化に使用するsha構造体へのポインタ
\param hash ハッシュ値を保持するバイト配列。
2022-06-16 08:24:18 +09:00
_Example_
\code
Sha sha[1];
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaGetHash(sha, hash);
}
\endcode
2025-10-26 00:51:40 +09:00
2022-06-16 08:24:18 +09:00
\sa wc_ShaHash
\sa wc_ShaFinal
\sa wc_InitSha
*/
2025-12-03 13:39:09 +09:00
int wc_ShaGetHash(wc_Sha* sha, byte* hash);