Added SHA256Compress to Bitcoin's SHA256 implementation.

This commit is contained in:
Sean Bowe
2016-03-31 14:23:56 -06:00
parent 9bab3e89a2
commit 8466467a35
4 changed files with 48 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
#include "test/test_bitcoin.h"
#include "crypto/sha256.h"
#include "uint256.h"
#include <stdexcept>
#include <boost/test/unit_test.hpp>
BOOST_FIXTURE_TEST_SUITE(sha256compress_tests, BasicTestingSetup)
BOOST_AUTO_TEST_CASE(compression)
{
{
unsigned char preimage[64] = {};
CSHA256 hasher;
hasher.Write(&preimage[0], 64);
uint256 digest;
hasher.FinalizeNoPadding(digest.begin());
BOOST_CHECK_MESSAGE(digest == uint256S("d8a93718eaf9feba4362d2c091d4e58ccabe9f779957336269b4b917be9856da"),
digest.GetHex());
}
{
unsigned char preimage[63] = {};
CSHA256 hasher;
hasher.Write(&preimage[0], 63);
uint256 digest;
BOOST_CHECK_THROW(hasher.FinalizeNoPadding(digest.begin()), std::length_error);
}
}
BOOST_AUTO_TEST_SUITE_END()