49 lines
1.6 KiB
C
49 lines
1.6 KiB
C
#ifndef _MD5_H
|
|
#define _MD5_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
// バイト配列の MD5 ハッシュ値を求める
|
|
void data_md5(
|
|
unsigned char *data_in, // ハッシュ値を求めるバイト配列
|
|
unsigned int data_len, // 入力バイト数
|
|
unsigned char *hash); // ハッシュ値 16バイト
|
|
|
|
// ファイルの MD5 ハッシュ値を求める
|
|
int file_md5(
|
|
wchar_t *file_name, // 表示するファイル名
|
|
HANDLE hFileRead, // ハッシュ値を求めるファイルのハンドル
|
|
unsigned __int64 file_size,
|
|
unsigned char *hash); // ハッシュ値 (16バイト)
|
|
|
|
// ファイルの MD5 ハッシュ値を求めて、全体的な経過を表示する
|
|
int file_md5_total(
|
|
HANDLE hFileRead, // ハッシュ値を求めるファイルのハンドル
|
|
unsigned __int64 file_size,
|
|
unsigned char *hash, // ハッシュ値 (16バイト)
|
|
unsigned char *hash16, // 先頭 16KB 分のハッシュ値
|
|
__int64 total_file_size,
|
|
__int64 *prog_now); // 経過表示での現在位置
|
|
|
|
// ファイルの先頭 16KB 分の MD5 ハッシュ値を求める
|
|
int file_md5_16k(
|
|
HANDLE hFileRead, // ハッシュ値を求めるファイルのハンドル
|
|
unsigned __int64 file_size,
|
|
unsigned char *hash); // ハッシュ値 (16バイト)
|
|
|
|
// ファイルの先頭 32バイト目からの MD5 ハッシュ値を求める
|
|
int file_md5_from32(
|
|
wchar_t *file_name, // 表示するファイル名
|
|
HANDLE hFileRead, // ハッシュ値を求めるファイルのハンドル
|
|
unsigned char *hash); // ハッシュ値 (16バイト)
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // md5.h
|