해시값 저장 질문입니다.(소스 有)
매미꽃
질문 제목 : 질문 내용 : 이번에 무결성 검증프로그램을 작성하고 있습니다. 알고리즘은 샤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 입니다 혼동하지마세요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |