# Type of request: This is a ...
[ ] bug report
[x] feature request

# Detailed description
As a Developer,
I want to be able to simulate BadDigest and InvalidDigest errors,
So that I can test the error handling logic

## Expected behavior
https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
BadDigest: The Content-MD5 you specified did not match what we received.
InvalidDigest: The Content-MD5 you specified is not valid.

## Actual behavior
localstack returns InvalidDigest when MD5 does not match payload.


aws_stack.create_dynamodb_table(
            TEST_DDB_TABLE_NAME_4,
            partition_key=PARTITION_KEY,
            stream_view_type='NEW_AND_OLD_IMAGES'
        )
        table = self.dynamodb.Table(TEST_DDB_TABLE_NAME_4)
        # as
        expected_arn_prefix = 'arn:aws:dynamodb:' + aws_stack.get_local_region()
        self.assertTrue(table.table_arn.startswith(expected_arn_prefix))
        self.assertTrue(table.latest_stream_arn.startswith(expected_arn_prefix))
        # as
        ddbstreams = aws_stack.connect_to_service('dynamodbstreams')
        result = ddbstreams.describe_stream(StreamArn=table.latest_stream_arn)['StreamDescription']
        self.assertIn('Shards', result)
        for shard in result['Shards']:
            self.assertRegex(shard['ShardId'], r'^shardId\-[0-9]{20}\-[a-zA-Z0-9]{1,36}$')
        # cl
        delete_table(TEST_DDB_TABLE_NAME_4)
    def test_multiple_update_expressions(self):