반응형
윈도우에서 파일  MD5 해쉬값 구하기

요즘은 MD5를 많이 사용하죠? 

특히 인터넷에서 파일 다운로드 할때, MD5 값을 같이 표시줍니다.

 

원본 파일과 MD5을 표시하고, 다운로드 한 파일에 대해서 MD5 체크해서 변경된 내용이 확인하기 위해서 사용합니다.

파일 다운로드 도중에 손상이 발생한 경우도 있지만, 원본 파일이 다른 파일을 다운로드 하게끔 하는 사이트들도 종종 있습니다. 이럴때 원본 파일의 MD5 비교해서 변경이 없는지 확인 가능합니다.

 

CertUtil

윈도우에 있는 CertUtil 파일을 이용하여 MD5 확인 할 수 있습니다.

 

CertUtil -hashfile -?

명령어로 사용법을 확인 가능합니다.

사용법:
  CertUtil [옵션] -hashfile InFile [HashAlgorithm]
  파일에 암호화 해시 생성 및 표시

옵션:
  -Unicode          -- 리디렉션된 출력을 유니코드로 씁니다.
  -gmt              -- GMT로 시간 표시
  -seconds          -- 시간을 초와 밀리초로 표시
  -v                -- 자세한 정보 표시 작동
  -privatekey       -- 암호 및 개인 키 데이터 표시
  -pin PIN                  -- 스마트 카드 PIN
  -sid WELL_KNOWN_SID_TYPE  -- 숫자 SID
            22 -- 로컬 시스템
            23 -- 로컬 서비스
            24 -- 네트워크 서비스

해시 알고리즘: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

CertUtil -?              -- 동사 목록(명령 목록)을 표시합니다.
CertUtil -hashfile -?    -- "hashfile" 동사의 도움말 텍스트를 표시합니다.
CertUtil -v -?           -- 모든 동사의 도움말 텍스트를 모두 표시합니다.

 

사용 방법>  CertUtil -hashfile <filename> MD5

예> CertUtil -hashfile MD5_test.txt MD5

 

 

커맨드창에서 확인한 결과 입니다.

 

 

파일에서 MD5 해시 만들기 예제 소스코드

위에서는 CertUtil 이용하여 MD5 만들었다면, 아래는 샘플 소스코드 입니다.

 

예제 C 프로그램 : 파일 콘텐츠에서 MD5 해시만들기

https://learn.microsoft.com/ko-kr/windows/win32/seccrypto/example-c-program--creating-an-md-5-hash-from-file-content

 

 

#include <stdio.h>
#include <windows.h>
#include <Wincrypt.h>

#define BUFSIZE 1024
#define MD5LEN  16

DWORD main()
{
    DWORD dwStatus = 0;
    BOOL bResult = FALSE;
    HCRYPTPROV hProv = 0;
    HCRYPTHASH hHash = 0;
    HANDLE hFile = NULL;
    BYTE rgbFile[BUFSIZE];
    DWORD cbRead = 0;
    BYTE rgbHash[MD5LEN];
    DWORD cbHash = 0;
    CHAR rgbDigits[] = "0123456789abcdef";
    LPCWSTR filename=L"filename.txt";
    // Logic to check usage goes here.

    hFile = CreateFile(filename,
        GENERIC_READ,
        FILE_SHARE_READ,
        NULL,
        OPEN_EXISTING,
        FILE_FLAG_SEQUENTIAL_SCAN,
        NULL);

    if (INVALID_HANDLE_VALUE == hFile)
    {
        dwStatus = GetLastError();
        printf("Error opening file %s\nError: %d\n", filename, 
            dwStatus); 
        return dwStatus;
    }

    // Get handle to the crypto provider
    if (!CryptAcquireContext(&hProv,
        NULL,
        NULL,
        PROV_RSA_FULL,
        CRYPT_VERIFYCONTEXT))
    {
        dwStatus = GetLastError();
        printf("CryptAcquireContext failed: %d\n", dwStatus); 
        CloseHandle(hFile);
        return dwStatus;
    }

    if (!CryptCreateHash(hProv, CALG_MD5, 0, 0, &hHash))
    {
        dwStatus = GetLastError();
        printf("CryptAcquireContext failed: %d\n", dwStatus); 
        CloseHandle(hFile);
        CryptReleaseContext(hProv, 0);
        return dwStatus;
    }

    while (bResult = ReadFile(hFile, rgbFile, BUFSIZE, 
        &cbRead, NULL))
    {
        if (0 == cbRead)
        {
            break;
        }

        if (!CryptHashData(hHash, rgbFile, cbRead, 0))
        {
            dwStatus = GetLastError();
            printf("CryptHashData failed: %d\n", dwStatus); 
            CryptReleaseContext(hProv, 0);
            CryptDestroyHash(hHash);
            CloseHandle(hFile);
            return dwStatus;
        }
    }

    if (!bResult)
    {
        dwStatus = GetLastError();
        printf("ReadFile failed: %d\n", dwStatus); 
        CryptReleaseContext(hProv, 0);
        CryptDestroyHash(hHash);
        CloseHandle(hFile);
        return dwStatus;
    }

    cbHash = MD5LEN;
    if (CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0))
    {
        printf("MD5 hash of file %s is: ", filename);
        for (DWORD i = 0; i < cbHash; i++)
        {
            printf("%c%c", rgbDigits[rgbHash[i] >> 4],
                rgbDigits[rgbHash[i] & 0xf]);
        }
        printf("\n");
    }
    else
    {
        dwStatus = GetLastError();
        printf("CryptGetHashParam failed: %d\n", dwStatus); 
    }

    CryptDestroyHash(hHash);
    CryptReleaseContext(hProv, 0);
    CloseHandle(hFile);

    return dwStatus; 
}

 

위에 CertUtil 유틸과 예제 코드로 동일한 결과가 나오는걸 확인했습니다.

 

 

 

반응형

'코드' 카테고리의 다른 글

nosstarter.npe (nProtect) 삭제하기  (0) 2023.08.29
티스토리, 접속오류 HTTP ERROR 400  (0) 2023.07.10
AnyTxt 설치 및 설정 방법  (0) 2023.06.07
대용량 파일 복사 - TeraCopy  (0) 2023.05.22
윈도우 10 설치 USB 만들기  (0) 2023.05.16
반응형

 

호스트 파일 변경 시도하는
nosstarter.npe 파일 삭제하기

nosstart.npe 는 뭐지?? 왜 갑자기 호스트 파일 변경을 시도하지?

 

 

호스트 파일 보호 알림

 

알약에서 갑자기 뜨는 호스트 파일 보호 알림!

 

해당 파일 확인

파일 경로 확인해보 INCAInternet의 nProtect 이네요.

경로 : C:\Program Files (x86)\INCAInternet\nProtect Online Security

 

 

nProtect

 

nProtect Online Security V1.0

 

nProtect Online Security 가 작업관리자에서 실행되고 있네요.

금융사이트 이용하면서 설치되었던걸로 기억하는데, 필요하면 그때 다시 설치하기로하고 삭제를 시도합니다.

 

 

프로그램 추가/제거

프로그램 추가/제거  및  앱 및 기능에서 기존에 설치되 프로그램을 확인 할 수 있습니다.

설치된 앱이 많은 경우 검색에서 nprotect 를 입력하면 검색 됩니다.

 

nProtect 제거(unistall)

제거 버튼을 클릭하여 제거(언인스톨)을 시작합니다.

 

 

 

삭제 이후에 위에서 검색한 경로를 다시 확인해보면 모든 파일이 삭제된걸 확인 할 수 있습니다.

 

반응형
반응형

티스토리. 접속 오류 HTTP ERROR 400

 

티스토리 홈페이지 자체가 접속이 안되는 오류가 발생하네요.

이거 뭔일인지? 근데 이게 티스토리 서버가 문제가 생기거나 한것은 아닙니다.

 

 

 

티스토리 접속 오류

 

원인은 브라우저의 쿠키 데이터 오류입니다. 브라우저에서 쿠키 데이터를 삭제 하면 정상적으로 접속됩니다.

 

크롬 브라우저에서 쿠키 데이터 삭제 방법

1. 브라우저 설정화면으로 이동

브라우저 > 설정

크롬 브라우저 설정 화면 진입하기

크롬 브라우저 우측 상단에 점 3개 표시된 부분을 클릭하면, 위에처럼 메뉴가 표시됩니다. 여기에서 설정을 선택합니다.

 

2. 크롬 브라우전 설정 화면

 개인 정보 보호 및 보안 > 서드파티 쿠키

서드 파트 쿠기

좌측 메뉴에서 개인 정보 보호 및 보안을 선택하고, 우측에서 서드 파티 쿠키를 선택합니다.

 

 

설정 검색 : 쿠키

상단의 설정 검색에서 쿠키로 검색하여, 서드 파티 쿠키로 진입도 가능합니다.

 

3. 모든 사이트 데이터 및 권한 보기

 

화면 스크롤을 내려,중간쯤에 모든 사이트 데이터 및 권한 보기를 선택합니다.

 

4. 모든 사이트

 

자주 방문한 페이지가 표시되는데, 사이트가 너무 많은 경우 우측 상단에 tistory 로 검색하면 됩니다.

 

6. 쿠키 데이터 삭제

티스트리(tistory.com) 사이트가 표시되네요. 여기에서 쿠기 데이터를 삭제합니다. 

우측에 쓰레기통 아이콘을 선택합니다.

 

확인 팝업창에 삭제를 선택합니다.

 

7. 쿠키 데이터 삭제 완료

삭제한 이후에는 티스트로(tistory.com) 쿠키 데이터가 모두 삭제되었네요.

 

8. 티스토리 다시 접속

 

티스토리에 다시 접속하니 이제는 잘 접속됩니다.

모든 인터넷 기록 삭제하는 방법도 있지만, 모든 인터넷 기록 삭제보다는 딱 필요한 티스토리 쿠키 데이터만 삭제해 보세요.

 

 

반응형

'코드' 카테고리의 다른 글

윈도우에서 파일 MD5 해쉬값 구하기  (0) 2023.10.30
nosstarter.npe (nProtect) 삭제하기  (0) 2023.08.29
AnyTxt 설치 및 설정 방법  (0) 2023.06.07
대용량 파일 복사 - TeraCopy  (0) 2023.05.22
윈도우 10 설치 USB 만들기  (0) 2023.05.16
반응형

AnyTxt를 파일에서 텍스트를 찾아 주는 프로그램입니다. 

색인 구성으로 윈도우탐색이기나 FindStr 등보다 아주 빠르게 찾아줍니다.

텍스트파일 뿐만 아니라 워드(doc), 엑셀(xls), 파워포인트(ppt), PDF(pdf) 파일에서 텍스트를 검색합니다.

 

AnyTxt 설치

 

1. Select Setup Language

- 설치는 영어(English)로 설치하고, 설치 이후에 한국어로 변경이 가능합니다.

 

2. License Agreement : Accept

3. Select Destination Location

라이센스에 동일하고, 이후에 계속 'Next'를 진행합니다.

 

4. Select Start Menu Folter

5. Ready to Install

 

 

6. Completing the Any TXT Searcher Setup Wizard

 

설치 완료이후 재부팅이 필요할 수 있습니다.

 

 

 

실행

언어 변경 : Options -> Language > 한국어

옵션에서 언어를 한국어로 변경이 가능합니다.

 

 

파일 색인 관리자

옵션 > 색인 관리자 > 파일 유형

 

위에 보이는 파일 색인 관리자 기본 색인을 구성합니다.

추가적으로 필요한 파일유형(확장자)를 추가하면, 추가적으로 색인이 구성됩니다.

 

 

반응형
반응형

대용량 파일 복사  - TeraCopy

 

대용량 파일 복사에 유용한 TeraCopy 입니다.

 

TeraCopy 홈페이지

https://www.codesector.com/teracopy

 

TeraCopy for Windows - Code Sector

Be in control In case of a copy error TeraCopy will try to recover. If unable to recover in the worst case scenario it will simply skip the problematic file, not terminating the entire transfer. It can also wait for network or device reconnection. Unnecess

www.codesector.com

 

 

유료버전이도 있지만. 무료버전에서도 충분히 원하는 기능을 사용 할 수 있습니다.

 

 

설치

1. End-User License Agreement 

2. Select File Associations

Accept를 선택하고 Next를 클릭, Select File에서 Next를 선택합니다.

 

 

3. Select Installation Folder

4. Installing TeraCopy

 

설치경로는 기본으로 하고 Install을 합니다.

 

5. Copleting the TeraCopy Setup Wizard

6. Launch TeraCopy

 

설치가 완료후에 TeraCopy 실행된 화면입니다.

 

원본(Source)이나 대상(Target)를 TeraCopy UI에서 사용할 수 도 있지만, 탐색기에서 복사 및 붙여넣기 하듯이 하면 TeraCopy를 사용할 수 있습니다.

 

 

Copy & Paste

 

Copy & Paste 하면 위와 같이 팝업하면이 나옵니다. 

Explorer를 선택하면 기존의 탐색기와 동일하게 동작하고,

TeraCopy, TeraCopy - replace older files 를 선택하면 TeraCopy 를 이용하여 복사가 됩니다.

 

 

 

반응형

'코드' 카테고리의 다른 글

티스토리, 접속오류 HTTP ERROR 400  (0) 2023.07.10
AnyTxt 설치 및 설정 방법  (0) 2023.06.07
윈도우 10 설치 USB 만들기  (0) 2023.05.16
Visual Studio 2010 설치하기(win10)  (0) 2023.04.18
boost 라이브러리 설치하기  (1) 2023.04.14
반응형

 

윈도우 10 설치 USB 만들기

 

윈도우 10 설치 USB를 만들기입니다. 준비물은 당연히 USB를 준비해야겠죠?

USB 포맷해야하니, USB에 있는 내용은 미리 백업해두셔야 합니다.

 

미디어 생성 도구 다운로드

 

아래 URL으로 접속하여, MS 사이트의 미디어 생성도구를  다운로드 합니다.

 

https://www.microsoft.com/ko-kr/software-download/windows10

 

Windows 10 다운로드

Windows 10용 ISO 파일을 다운로드한 경우, 해당 파일은 선택한 위치에 로컬로 저장됩니다.컴퓨터에 타사 DVD 굽기 프로그램이 설치되어 있으며 해당 프로그램을 사용하여 설치 DVD를 만들려는 경우,

www.microsoft.com

 

 

지금 도구 다운로드 하면 미디어생성도구를 다운로드 합니다.

 

 

Windows 10 설치 프로그램 만들기

 

1. 설치파일 실행 및 관련 통지 및 사용 조건

동의 선택합니다.

 

 

2. 원하는 작업 선택

3. 언어, 아키텍쳐 및 버전 선택

 

설치 USB를 만들거이니, 다른 PC용 설치 미디어 만들기를 선택합니다.

아키텍처는 요즘 대부분 64비트이니, 64비트(x64)를 기본으로 하여도 되고, 모두를 선택하여도 됩니다.

 

 

4. 사용할 미디어 선택

5. USB 플래스 드라이브 선택

 

설치용 USB를 만들거이니 USB 플래시 드라이브를 선택합니다.

USB 플래시 드라이브에서는 미리 USB 드라이브를 꼽아놓고, 해당 USB를 선택합니다.

 

6. Windows 10 다운로드 중

윈도우 10 설치 파일을 온라인으로 다운로드 합니다.

인터넷 속도 차이로 인해 시간이 오래 걸릴 수 수 있습니다.

 

마침을 누르면 마무리가 됩니다.

 

 

반응형
반응형
Visual Studio 2010 (VS2010) 설치하기

지금에서 VS2010을 다시 쓸일이 있나했는데,  살짝 필요하네요.

그래서 다시 윈도우10에 설치했는데, 별문제 없이 설치되네요.

 

 

설치 시작

 

 

Microsoft에 설치 경험에 대한 정보를 보냅니다 : 선택 해제

 

 

동의함 선택 하고 다음으로 진행합니다.

 

 

전체 설치 또는 사용자 지정으로 선택 가능합니다. 

 

사용자 지정인 경우에 설치하지 않을 기능을 선택 가능합니다.

F#, Visual Web Developer (ASP.NET), SharePoint  개발자 도구 정도느 제외하도 좋을듯하네요.

 

잠시(?) 시간을 기다리면 설치가 완료 됩니다.

 

 

 

윈도우10에서도 Visual Studio 2010 을 설치하였는데, 문제없이 잘 설치되네요.

 

 

반응형
반응형
boost 다운로드

https://www.boost.org/

 

Boost C++ Libraries

Welcome to Boost.org! Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications

www.boost.org

 

boost 홈페이지에 접속하여 다운로드 합니다.  작정일자 기준으로 1.81 버전이 최신 버전이네요.

Zip 파일로 다운로드 받고, 크기는 약 200MB 정도이네요.

 

압축해제 및 bootstrap.bat 실행

 

압축을 해제하면, 파일중에 bootstrap.bat 파일이 있고, 이걸 실행시킵니다.

 

윈도우 커맨드 창이 잠시 보이고 사라집니다.  그리고 b2.exe 파일이 생성됩니다.

 

b2.exe 실행

앞에서 생성된 b2.exe 실행합니다.

 

 

다시 윈도우 커맨드 창이 표시되며, 이번에는 시간이 조금 오래 걸립니다.

 

 

실행이 완료되면, bin.v2stage 폴더 2개가 생성됩니다.

 

 

Visual Studio 에서 설정하기

include 와 lib 경로 설정하기

 

프로젝트 > 속성

 

구성 속성 > C/C++ > 일반 > 추가 포함 디렉터리

앞서 다운로드해서 압축해제한 폴더

ex) C:\boost1_1_81_0

 

구성 속성 > 링커 > 일반 > 추가 라이브러디 디렉터리

ex) C:\boost1_1_81_0\stage\lib

 

 

반응형
반응형
Visual Leak Detector for Visual Studio C++

https://kinddragon.github.io/vld/

 

Visual Leak Detector

Enhanced Memory Leak Detection for Visual C++

kinddragon.github.io

다운로드 위 홈페이지에서 가능합니다.

 

 

설치

설치는 별다른 설정없이, Next 또는 Install 버튼 클릭하면 설치가 끝납니다.

 

 

 

 

 

 

 

Visual Studio 에서 설정

 

프로젝트 > 속성 > 구성 속성 > VC++ 디렉토리

포함 디렉터리 

C:\Program Files (x86)\Visual Leak Detector\include

 

라이브러리 디렉터리

32bit 경우

C:\Program Files (x86)\Visual Leak Detector\lib\Win32

 

64bit 경우

C:\Program Files (x86)\Visual Leak Detector\lib\Win64

 

 

소스코드에서 inlcude 하기

#include <vld.h>

 

 

 

 

 

반응형
반응형

TortoiseGit 설치 방법

 

TortoiseGit 다운로드

 

TortoiseGit 홈페이지

https://tortoisegit.org/

 

TortoiseGit – Windows Shell Interface to Git

Get Support Manuals, FAQ, bug reporting, mailing list, and more…

tortoisegit.org

 

홈페이지에 접속하여 Download 페이지로 이동합니다.

 

OS버전에 맞게 다운로드 합니다. 

여기서는 64-bit Windows version 2.13.0.1 기준으로 합니다.

 

 

추가적으로 언어팩도 설치 가능하며, TortoiseGit 설치 이후에 추가로 설치하면 됩니다.

 

 

TortoiseGit 설치 절차

 

1. Information

 

 

2. Choose SSH Client

기본으로 선택되어 있는 TortoiseGitPlink, based on Putty; optimized for TortoiseGit and intergrates batter with Windows 를 선택하고, Next 클릭합니다.

 

 

3. Custom Setup

4. Ready to Install

설정 변경없이 NextInstall 합니다.

 

 

5. Installing TortoiseGit

설치 완료. 바로 실행하여 Start wizard 까지 설정합니다.

 

 

First Start Wizard

설치 이후에 처음 실행하면 위자드를 통해 설정해야 합니다.

 

사전 요구 사항

Git 설치 완료 

스타트 위자드에서 Git 설치 경로등을 설정하기에 사전에 Git이 설치 되어 있어야 합니다.

 

 

1. Welcome to TortoiseGit!

다음(N) 클릭합니다.

 

 

2. Configure git.exe

 

Git이 설치되어 있으면, 기본적인 설치 경로는 C:\Program Files\Git\bin 입니다.

 

3. Configure user information

이름과 이메일을 등록합니다. 개인 이메일이나 회사에서 사용하면 회사 이메을 사용하면됩니다.

나중에 commit, push 할때 위에 설정은 이름으로 표시됩니다.

 

 

4. Authentication and credential store

추가적이 설정 변경 없이 [마침] 으로 마무리 합니다.

 

TortoiseGit 사용

Windows 탐색기

1. Windows 탐색기

윈도우 탐색기에서 우클릭하면 팝업메뉴에 TortoiseGit 관련하여 표시됩니다.

 

Git Clone... 클릭하면 다음 화면이 표시됩니다.

 

 

 

2. Git Clone...

URL에는 Repository 주소를 입력하고, Directory 에는 폴더를 지정합니다.

 

 

 

2. Git Credential Manager

위에 입력한 URL의 처음인 경우에는 계정 로그인이 필요합니다.

 

 

Git Clone 완료

 

2. Git Sync

3. Git Commit

Git Clone 완료되면 이후에는 Sync, Commit 이 가능합니다.

 

 

 

TortoiseGit 추가 팝업메뉴를 통해서 다양한 기능을 이용할 수 있습니다.

 

 

반응형

+ Recent posts