디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 암호화 API 공부하고있는뎀...

늅늅(121.183) 2012.01.08 19:29:56
조회 242 추천 0 댓글 0


 BOOL EncryptFile(
        PCHAR szSource, 
        PCHAR szDestination, 
        PCHAR szPassword)
//------------------------------------------------                
//   파라메터 정의                
//     szSource  : 입력으로 주어지는 파일명 원문을 담고 있다.        
//     szDestination  : 출력파일 이름. 암호화 되어 있다.         
//     szPassword  : 암호화에 사용될 키값        대칭키 방식이기에 복호화에도 사용된다.

{
        FILE *hSource; 
        FILE *hDestination; 

        HCRYPTPROV hCryptProv; 
        HCRYPTKEY hKey; 
        HCRYPTHASH hHash; 

        PBYTE pbBuffer; 
        DWORD dwBlockLen; 
        DWORD dwBufferLen; 
        DWORD dwCount; 

// 입력 파일 열기 
        if(hSource = fopen(szSource,"rb"))
        {
           printf("The source plaintext file, %s, is open. \\n", szSource);
        }
        else
        
           HandleError("Error opening source plaintext file!");
        

// 출력파일 열기 
        if(hDestination = fopen(szDestination,"wb"))
        {
                 printf("Destination file %s is open. \\n", szDestination);
        }
        else
        {
                HandleError("Error opening destination ciphertext file!"); 
        }
        // 디폴트 CSP의 핸들을 얻어온다. CryptoAPI중 가장 첫번째 함수 
        if(CryptAcquireContext(
                  &hCryptProv, 
                  0, 
                  MS_ENHANCED_PROV, 
                  PROV_RSA_FULL, 
                  0 ))
        {
           printf("A cryptographic provider has been acquired. \\n");
        }
        else
        {
           HandleError("Error during CryptAcquireContext!"); 
        }

        //hash 오브젝트를 생성한다.
        if(CryptCreateHash(
                   hCryptProv, 
                   CALG_MD5, 
                   0, 
                   0, 
                   &hHash))
                {
                        printf("A hash object has been created. \\n");
                }
                else
                
                         HandleError("Error during CryptCreateHash!\\n");
                }  

        if(CryptHashData(
                   hHash, 
                   (BYTE *)szPassword, 
                   strlen(szPassword), 
                   0))                                        //패스워드에 해쉬를 취한다.
         {
                printf("The password has been added to the hash. \\n");
         }
         else
         {
                HandleError("Error during CryptHashData. \\n"); 
         }

        if(CryptDeriveKey(                        
                   hCryptProv, 
                   ENCRYPT_ALGORITHM, 
                   hHash, 
                   KEYLENGTH, 
                   &hKey))                                // 해쉬 값을 이용하여 세션키를 생성한다.
         {
           printf("An encryption key is derived from the password hash. \\n"); 
         }
         else
         {
           HandleError("Error during CryptDeriveKey!\\n"); 
         }


굵은글씨로 한부분 다 이해가안가요 ㅠㅠ

CSP 핸들을 얻어오고, 해싱오브젝트를 만들어 사용자가 입력한 암호키로 해시값을 만들고
만들어진 해시값으로 왜 세션키를 만들죠 ㅠㅠ?

이해가안대요 네이년에 찾아봐도 자료가 충분하지않고 소스만 덜렁있꼬 설명이 없어여 ...
구글은 무능력한 영어지식에 좌절했슴미당... 횽님들 도와주세영..

PS. 쓰는방법은 알겠는데 왜 저렇게 써야하는질 모르겠음... 그냥 사용자가 입력한 암호키받고 그걸로 걍 바로 쓰면되지
왜 해시값에 세션키를 처만드는지...

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
298051 지금부터 플렉스 배우기 시작하는거 어떻게 생각함? [7] ㅇㅇ(1.212) 12.01.10 131 0
298050 산업스파이 기사보고.. [4] iljeomobolt갤로그로 이동합니다. 12.01.10 130 0
298049 사과 앱 만든 게 무료 어플인데 수익이 이 정도 나고 있는데... [5] 엠비씨(183.1) 12.01.10 247 0
298047 횽들 그누보드 같은거 어때? [2] 나리링갤로그로 이동합니다. 12.01.10 105 0
298045 sehwa [6] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.10 140 0
298044 인디언식 작명법(양력이라고함. ㅇㅇ) [5] ☎v2.0™갤로그로 이동합니다. 12.01.10 119 0
298043 로또가 그리좋음? 당첨될수 있는지 없는지 알수 잇는 방법 갈켜드림 [5] (210.93) 12.01.10 114 0
298042 프로그래머가 꼭 알아야 할것. [4] sstt(110.14) 12.01.10 217 0
298041 아래 하도급 기사 보고.. 지금 나의 위치는... [3] iljeomobolt갤로그로 이동합니다. 12.01.10 106 0
298040 친구가 붕어빵 기계 빌려다가 팔고 있는데 수익이 생각보다 짭짤하다고 한다 [5] 거칠게갤로그로 이동합니다. 12.01.10 250 0
298039 Waste can be many things. 우리말로 하면? [15] 캐영어닭(115.92) 12.01.10 131 0
298038 이런글 올려서 죄송합니다. ㅠㅠ [3] 유동닉(121.145) 12.01.10 86 0
298037 SQL 인젝션이몬가여?? 이런기사가 떳는데 쉽게 설명좀해주세요 [11] 궁구미(58.150) 12.01.10 168 0
298036 데브피아 개발자 고충 상담 게시판을 보고 느낀점 [1] 거칠게갤로그로 이동합니다. 12.01.10 163 0
298035 질문하나 있는데...... hta 확장자로 끝나는 프로그램 배울려면... [32] 로또로(218.159) 12.01.10 232 0
298034 질문하나 드립니다. ㅠㅠ [5] 유동닉(121.145) 12.01.10 75 0
298033 로또를 프로그램 만들어서 일등 할 수 있을까? [47] 로또로(218.159) 12.01.10 273 0
298032 형들 게임업계 힘든건 둘째치고 서버쪽이 더많이배워요 아님 클라쪽?? [4] ㅁㄴㅇㄹ(59.30) 12.01.10 128 0
298031 C언어 배우러 학원 온 전공생들이 [22] 쿠마코갤로그로 이동합니다. 12.01.10 328 0
298030 공장 공장 거리는데 공장 가본사람 있으셈? [5] 1(183.104) 12.01.10 173 0
298029 영어 시발ㅋ 다크엔젤z갤로그로 이동합니다. 12.01.10 60 0
298028 으으 잉여력이 부족해~~~ 거칠게갤로그로 이동합니다. 12.01.10 61 0
298027 애정남에 IT 개발자 단가를 정해달라고 하고 싶다. [4] 거칠게갤로그로 이동합니다. 12.01.10 215 0
298026 C배우러 학원왔는데 [7] 쿠마코갤로그로 이동합니다. 12.01.10 170 0
298025 한국 개발자 테크트리는 뭔가염? [4] 거칠게갤로그로 이동합니다. 12.01.10 256 0
298023 장애인 문안 인사 드리옵니다. 안드로이드 좀 아는놈이나 자바 빠삭한 봐줘 [2] kknd(121.174) 12.01.10 103 0
298020 으으 허무감이 밀려온다...... [1] 거칠게갤로그로 이동합니다. 12.01.10 79 0
298019 코드 난독화 왜 하냐?? [8] ㅇㅇㅇ갤로그로 이동합니다. 12.01.10 278 0
298018 횽들.. 취업했는디.. [2] 그러함(112.150) 12.01.10 137 0
298015 졸린 오후에 찾아온 적절한 뮤비 투척 거칠게갤로그로 이동합니다. 12.01.10 73 0
298014 횽들아. 요새 미분 책보고 있는데; 미분에 대해서 머 좀 물어보겠음; [6] ㅁㅁㅁ(116.121) 12.01.10 128 0
298013 에잇 좋은 짤방이나 보자!!(뒤는 알아서 조심하던지 말던지!!) [3] 거칠게갤로그로 이동합니다. 12.01.10 173 0
298011 정식 SE 데뷔!!! [9] 씨발라드세요갤로그로 이동합니다. 12.01.10 143 0
298010 html 태그 질문 드릴께요. iframe [8] ares4you갤로그로 이동합니다. 12.01.10 98 0
298009 어려운 질문은 아닌데 왠지 알아두어야 될 것 같아서 질문드려요 [14] C++(112.172) 12.01.10 120 0
298008 자바 질문 좀 드릴게요ㅠㅠㅠ [2] 끼용(14.36) 12.01.10 62 0
298007 '甲-乙-丙 하청구조'…단계마다 인건비 따먹기 [1] 거칠게갤로그로 이동합니다. 12.01.10 151 0
298003 현업 언니들 사장이 [4] dot(125.128) 12.01.10 145 0
298001 니들 이름은 어떻게 결정한거냐? [13] iljeomobolt갤로그로 이동합니다. 12.01.10 171 0
298000 대학원 질문 [2] 리누슽발즈(220.70) 12.01.10 135 0
297997 플밍배열에 관하여 질문드립니다. [3] 플밍꼬꼬마(221.165) 12.01.10 83 0
297996 카르마1해보신분 손 [5] Forit갤로그로 이동합니다. 12.01.10 96 0
297995 파견 나가는데 아오 맨붕 [2] 개떙보갤로그로 이동합니다. 12.01.10 111 0
297993 나 이것좀 풀어줘 [9] 고기호빵갤로그로 이동합니다. 12.01.10 121 0
297991 영어 한문장만 물어볼게 횽들... [13] 캐영어닭(115.92) 12.01.10 130 0
297990 우리 회사 병특 현역 1명 뽑는당... [6] ㅇㅇㅇ(59.13) 12.01.10 202 0
297989 근데 말야 자동 수강신청프로그램같은거 [7] 싴보이갤로그로 이동합니다. 12.01.10 220 0
297988 횽들.......JSP 도움좀 [9] 헬프욤(121.138) 12.01.10 122 0
297987 오늘 면접보러감 꿀레(121.168) 12.01.10 99 0
297986 html5가 따로 배워야할 수준이냐? html4랑 많이 틀림? [2] ㄴㄹㅇ(218.48) 12.01.10 212 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2