WA-SDK  3.0.4.0
WA-SDK
issacapi/md/sample_md_basic.c
#include <stdio.h>
#include "issacapi_md.h"
static const unsigned char *plaintext = (const unsigned char *) "This is a test text";
static int plaintextSize = 19; // strlen("This is a test text");
static int sample_setup() {
EErrorCode result = wasdk_init();
if (result != EEC_Success) {
printf("[ERROR] %s\n", wasdk_error_message(result));
return 1;
}
return 0;
}
int sample_md_basic() {
ISSAC_RETURN result;
MDCONTEXT context;
unsigned char md[MAX_HASH_SIZE] = { 0, };
int mdLen = 0;
printf("sample_md_basic() => ");
// 해시 알고리즘 설정
result = ISSAC_MD_Initialize(&context, ISSACAPI_SHA256);
// 원문 메시지 추가
if (result == ISSAC_SUCCESS) {
result = ISSAC_MD_Update(&context, plaintext, plaintextSize);
}
// 해시 출력값 가져오기
if (result == ISSAC_SUCCESS) {
result = ISSAC_MD_Finalize(md, &mdLen, sizeof(md), &context);
}
if (result == ISSAC_SUCCESS) {
printf("[OK]\n");
return 0;
} else {
printf("[ERROR] %s\n", ISSAC_GetErrorMessage(result));
return 1;
}
}
int main() {
int result;
result = sample_setup();
if (result != 0) {
return result;
}
return sample_md_basic();
}
EErrorCode
새롭게 구현된 내부 API 에서 사용되는 에러코드들
Definition: wasdk_errorcode.h:13
@ EEC_Success
성공
Definition: wasdk_errorcode.h:14
unsigned int ISSAC_RETURN
ISSAC-API 실행 결과 [ ISSACAPI_BASIC_RETURN, ISSACAPI_ERRORS, ISSAC_LICENSE_ERR ]
Definition: issacapi_bs_definitions.h:32
@ ISSAC_SUCCESS
(0) 성공
Definition: issacapi_bs_definitions.h:37
@ ISSACAPI_SHA256
(6) SHA256
Definition: issacapi_bs_definitions.h:89
WA_SDK_API const char *FUNCCALL ISSAC_GetErrorMessage(ISSAC_RETURN errorCode)
ISSAC-API 의 에러코드에 대한 에러메시지를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_MD_Finalize(void *md, int *md_len, int md_alloc_len, MDCONTEXT *kacontext)
HASH 를 생성한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_MD_Initialize(MDCONTEXT *mdcontext, int md_id)
HASH 생성에 사용할 해시 알고리즘을 설정한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_MDCONTEXT_Delete(MDCONTEXT *mdcontext)
MDCONTEXT 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_MDCONTEXT_Create(MDCONTEXT *mdcontext)
MDCONTEXT 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_MD_Update(MDCONTEXT *mdcontext, const void *message, int message_len)
HASH 생성에 사용할 원문 메시지를 업데이트한다.
WA_SDK_API const char *FUNCCALL wasdk_error_message(EErrorCode errorCode)
에러코드에 해당하는 에러 메시지를 가져온다.
WA_SDK_API EErrorCode FUNCCALL wasdk_init(void)
모듈 초기화를 실행한다.
#define MAX_HASH_SIZE
512 bit (SHA 512)
Definition: wasdk_public.h:40
메시지 압축 컨텍스트
Definition: issacapi_md.h:25