cdeclog

SHA1 해쉬함수, boost 라이브러리로 구현 본문

Dev/Encryption

SHA1 해쉬함수, boost 라이브러리로 구현

디클 2014.10.22 21:23

SHA1 해쉬 함수의 경우 crypto++ 라이브러리로 사용 가능 하지만, 간단히(?) boost 라이브러리도 가능.

http://www.cryptopp.com/



#include <iostream>
#include <string>
using namespace std;

#include <boost/uuid/sha1.hpp>
#include <boost/format.hpp>
 
 
string ToSHA1(const string s)
{
    boost::uuids::detail::sha1 sh;
    sh.process_bytes(s.c_str(), s.length());

    unsigned int digest[5];
    sh.get_digest(digest);

    string r;
    for(int i = 0; i < 5; ++i) {
        r += str(boost::format("%08x") % digest[i]);
    }

    return r;
}

int main()
{
    
    try {
        cout << ToSHA1("abcedfg") << endl;

    }
    catch (exception &e) {
        cout << e.what() << endl;
    }
    catch (...) {
        cout << "unknown error" << endl;
    }

    return 0;
}


Tag
공유하기 링크
0 Comments
댓글쓰기 폼