Source code

Revision control

Copy as Markdown

Other Tools

// Sha256Reg.cpp↩
#include "StdAfx.h"
#include "../../C/Sha256.h"
#include "../Common/MyCom.h"
#include "../7zip/Common/RegisterCodec.h"
class CSha256Hasher:↩
public IHasher,↩
public CMyUnknownImp↩
{↩
CSha256 _sha;↩
Byte mtDummy[1 << 7];↩
public:↩
CSha256Hasher() { Sha256_Init(&_sha); }↩
MY_UNKNOWN_IMP1(IHasher)↩
INTERFACE_IHasher(;)↩
};↩
STDMETHODIMP_(void) CSha256Hasher::Init() throw()↩
{↩
Sha256_Init(&_sha);↩
}↩
STDMETHODIMP_(void) CSha256Hasher::Update(const void *data, UInt32 size) throw()↩
{↩
Sha256_Update(&_sha, (const Byte *)data, size);↩
}↩
STDMETHODIMP_(void) CSha256Hasher::Final(Byte *digest) throw()↩
{↩
Sha256_Final(&_sha, digest);↩
}↩
REGISTER_HASHER(CSha256Hasher, 0xA, "SHA256", SHA256_DIGEST_SIZE)↩