SHA2<Constants> padded = *this;
char padding[Constants::BLOCK_SIZE] = { static_cast<char>(0x80) };
- padded.update(padding, Constants::BLOCK_SIZE-(this->unprocessed_bytes+8)%Constants::BLOCK_SIZE);
+ padded.update(padding, Constants::BLOCK_SIZE-(this->unprocessed_bytes+Constants::MIN_PADDING)%Constants::BLOCK_SIZE);
+ padded.update(padding+1, Constants::MIN_PADDING-8);
UInt64 message_length = (processed_bytes+this->unprocessed_bytes)*8;
write_word(message_length, padding);
padded.update(padding, 8);