해시값 저장 질문입니다.(소스 有)
매미꽃
질문 제목 : 질문 내용 : 이번에 무결성 검증프로그램을 작성하고 있습니다. 알고리즘은 샤512를 썼구요아직 초보라 많이 서툴고 코딩도 어색한 부분이 많을텐데;;;;해시값을 구하는거 까진 성공했습니다. 이제 해시값을 따로 txt파일로 저장을 해둬야 되는데fopen, fwrite를 써서 할려고 해도 도통 되지가 않습니다 ㅠㅠ 오류만 자꾸나네요..아래가 소스코드입니다.void searchfile(char * path, file_info * fdata)
{
handle hsrch;
win32_find_data wfd;
char drive[_max_drive]={0, }, dir[max_path]={0, }, newpath[max_path]={0, }, szfiletime[time_size]={0, };
filetime localtime;
systemtime st;
unsigned char inputhashvaluechar[64]={0,};
tchar aaa[512]={0,};
char bbb[512]={0,};
char ccc[512]={0,};
char *nametime; printf(\n〓〓〓〓〓 ▶ 탐지할 디렉토리 = %s ◀ 〓〓〓〓〓\n, path);
strcat(path, \\*.*);
multibytetowidechar(cp_acp, mb_precomposed, path, strlen(path), aaa, 512);
hsrch=findfirstfile(aaa, &wfd); //aaa=디렉토리경로 if(hsrch == invalid_handle_value)
{
fprintf(stderr, 파일 오픈 에러메시지);
return;
} _splitpath(path, drive, dir, null, null);
do
{
if(wfd.dwfileattributes & file_attribute_directory)
{
if(strcmp((const char *)wfd.cfi)wfd.cfilename,.) && strcmp((const char *)wfd.cfilename,..))
{
widechartomultibyte(cp_acp, null,wfd.cfilename,lstrlen(wfd.cfilename),ccc,512,null,null); //tchar-char
sprintf(newpath,%s%s%s, drive, dir, ccc);
searchfile(newpath, fdata);
foldercount++;
}
}
else
{
widechartomultibyte(cp_acp, null,wfd.cfilename,lstrlen(wfd.cfilename),bbb,512,null,null); //tchar-char
sprintf(newpath, %s%s%s, drive, dir, bbb); printf(%s%s%s, drive, dir, bbb); strcpy(fdata[filecount].filename, bbb);
strcpy(fdata[filecount].fileroute, newpath);
fdata[filecount].exceptionnum=normal;
fdata[filecount].filesize=((wfd.nfilesizehigh*(maxdword +1))+wfd.nfilesizelow); if((fdata[filecount].filesize)==0)
{
fdata[filecount].exceptionnum=zero_size;
}
if(filetimetolocalfiletime( &wfd.ftcreationtime, &localtime ))
{
filetimetosystemtime(&localtime, &st );
sprintf(szfiletime,%04d-%02d-%02d %02d:%02d:%02d, st.wyear, st.wmonth, st.wday, st.whour , st.wminute, st.wsecond);
strcpy(fdata[filecount].filecreatetime, szfiletime);
} nametime=strcat((char*)fdata[filecount].filename, (char*)fdata[filecount].filecreatetime); sha4((unsigned char*)nametime, strlen(nametime), inputhashvaluechar, 64); printf( 해시값 : ); for(int j=0; j64; j++)
{
printf(%02x, inputhashvaluechar[j]);
}
//해시값저장할 소스코드 입력부분 printf(\n); filecount++;
} }while(findnextfile(hsrch, &wfd)); findclose(hsrch);
}해시값을 생성과 동시에 화면에 해시값을 출력을 했구요이제 그 값을 텍스트로 저장해 놓아야 되는데 저기 빨간색으로 주석처리해놓은 부분에 넣으면 될거 같은데...도움좀 주세요 ㅠㅠ 그외 소스코드 이상한 부분 지적도 감사합니다...
-
새우깡 2023-08-21
%02x면 헥스 값으로 저장합니다 아스키 값은 %c 입니다 혼동하지마세요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |
2691510 | sizeof 연산자 질문입니다 (2) | 종달 | 2025-04-14 |
2691483 | 파일 오픈시 에러 질문드립니다. (2) | 호습다 | 2025-04-14 |
2691450 | [visual c++ 툴]기초 질문 (3) | 해긴 | 2025-04-13 |
2691393 | UNIX 시스템을 사용하려면 어떤 프로그램이 좋을까요? (5) | 든솔 | 2025-04-13 |
2691334 | ㅠㅠ에러 (1) | Loseless | 2025-04-12 |
2691304 | 포인터배열에 대해 질문요 | 달님 | 2025-04-12 |
2691279 | float-정수변환-2진수변환 | 핫블루 | 2025-04-12 |