해시값 저장 질문입니다.(소스 有)
매미꽃
질문 제목 : 질문 내용 : 이번에 무결성 검증프로그램을 작성하고 있습니다. 알고리즘은 샤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 입니다 혼동하지마세요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700610 | 정말 기초적인 더하기,여백 문제 help | 무슬 | 2025-07-06 |
2700562 | 함수포인터에서요 (7) | 소심한여자 | 2025-07-06 |
2700530 | 전처리문 질문입니다. (1) | 아놀드 | 2025-07-05 |
2700510 | c언어를 어케하면 잘할수 있을까요.. | 연연두 | 2025-07-05 |
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |