Pastebin

New pastes are no longer accepted · Stats

Latest Pastes

hash-cpp-fixed

#include "hash.hpp"

#include <string>
#include <cstring>

void sha256(std::string &str)
{
	sha256_context ctx;
	unsigned char *data = new unsigned char[str.length()];
	unsigned char digest[32];
	char cdigest[64];
	std::memcpy(static_cast<void *>(data), static_cast<const void *>(str.c_str()), str.length());

	sha256_starts(&ctx);
	sha256_update(&ctx, data, str.length());
	sha256_finish(&ctx, digest);

	for (int i = 0; i <= 32; ++i)
	{
		cdigest[i*2]   = "0123456789abcdef"[((digest[i] >> 4) & 0x0F)];
		cdigest[i*2+1] = "0123456789abcdef"[((digest[i]) & 0x0F)];
	}

	str.assign(cdigest, 64);

	delete data;
}