티스토리 뷰
SEED 256Bit Windows Standard DLL 64Bit O/S용 입니다.
1. 암/복호화 알고리즘: KISA SEED 256Bit
2. Operation Mode : CBC
3. Padding : PKCS5
4. Encoding/Decoding : BASE64
요즘은 대부분 Windows 7에서 64Bit O/S를 많이 사용하기 때문에
64Bit용 Windows Application에서 사용할 수 있도록 되어 있습니다.
암호화된 데이타를 바로 DB에 Insert가능하도록 BASE64 Encoding기능도 포함되어 있습니다.
/****************************************************************
SEED256Bit/CBC/PKCS5/BASE64 암호화 함수
RETURN : 0 > : 이상 암호화 후 pOutput 변수 데이타의 길이
-999 : 데모버전 유효기간 초과 (해당값이 나올 경우 사용 불가)
0 : 암호화 실패 (암호화가 불가능 한 코드가 있음)
*****************************************************************/
extern "C" __declspec(dllimport) int SEED_ENCRYPT_256(const char cKeyValue[32], /* 사용자 정의 암호화 키 정보 32 Byte 필수 */
const char cInitValue[16], /* 사용자 정의 IV 정보 16 Byte 필수 */
char *pInput, /* 암호화 할 평문(TEXT) 데이타 */
int nInputLength, /* 암호화 할 평문 길이 (Byte 기준) */
char *pOutput); /* 암호화 된 데이타 */
/****************************************************************
SEED256Bit/CBC/PKCS5/BASE64 복호화 함수
RETURN : 0 > : 이상 복호화 후 pOutput 변수 데이타의 길이
-999 : 데모버전 유효기간 초과 (해당값이 나올 경우 사용 불가)
0 : 복호화 실패 (정상적인 암호화 데이타가 아니거나 암호화 KEY 또는 IV가 틀림)
*****************************************************************/
extern "C" __declspec(dllimport) int SEED_DECRYPT_256(const char cKeyValue[32], /* 사용자 정의 암호화 키 정보 32 Byte 필수 */
const char cInitValue[16], /* 사용자 정의 IV 정보 16 Byte 필수 */
char *pInput, /* 복호화 할 암호 데이타 */
int nInputLength, /* 복호화 할 암호 데이타 길이 (Byte 기준) */
char *pOutput); /* 복호화 된 데이타 */
#pragma comment(lib,"YiniCryptSeed256_x64.lib") #include "YiniCryptSeed256_x64.h"
아래는 사용 예제 샘플 코드 입니다. (VisualStudio C++)
char UserKey[32+1]; memset(UserKey, 0x00, sizeof(UserKey)); strncpy(UserKey, "ABCDEFGHIJ" "KLMNOPQRST" "UVWXYZABCD" "EF", 32); char InitVactor[16+1]; memset(InitVactor, 0x00, sizeof(InitVactor)); strncpy(InitVactor, "ABCDEFGHIJ" "KLMNOP", 16); char pbData[1024]; memset(pbData, 0x00, sizeof(pbData)); strncpy(pbData,"한글테스트 알파벳abcdefgHIJKLMN1234567890", strlen("한글테스트 알파벳abcdefgHIJKLMN1234567890")); TRACE("암호화 할 데이타:"); TRACE(pbData); TRACE("\n"); int i = strlen(pbData); char EncryptData[4096]; memset(EncryptData, 0x00, sizeof(EncryptData)); int n = SEED_ENCRYPT_256(UserKey,InitVactor ,pbData, i, EncryptData); TRACE("암호화 후 데이타:"); TRACE(EncryptData); TRACE("\n"); char DecryptData[1024]; memset(DecryptData, 0x00, sizeof(DecryptData)); int j = SEED_DECRYPT_256(UserKey,InitVactor, EncryptData, n, DecryptData); TRACE("복호화 후 데이타:"); TRACE(DecryptData); TRACE("\n");
첨부된 파일은 DEMO 버전으로 한시적으로만 사용 가능 하며, 정식버전은 유료 입니다.
관련 문의는 메일로 보내주시기 바랍니다.
'개발자 이야기 > 암호화 관련정보' 카테고리의 다른 글
SEED관련 공지 (0) | 2012.11.23 |
---|---|
SEED/PKCS5/CBC 암호화 모듈 무료 배포 합니다. (4) | 2012.05.15 |
- Total
- Today
- Yesterday
- 상추
- 크로스컴파일
- 채소 키우기
- 사무실
- arm
- C
- embeded
- C++
- Android
- 식물
- CubieBoard2
- 벌교
- 식물키우기
- 식물 키우기
- 리눅스
- U-Boot
- 1회용컵
- kernel
- 수경재배
- VirtualBox
- 커피컵
- Linux
- 임베이디드
- 버추얼박스
- 큐비보드
- 열무
- cross compile
- 커널
- 베란다
- 고흥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |