Fixes bug with wrong partial_verification

When using base64, the length of the partial bytes changes and will
always be a multiple of 4. This didn't allow for proper partial
verification.

For example, with two partial bytes, the resulting string for partial
verification will be of length 4; this will contain three bytes of data
and one byte for padding (i.e. xyz=).

Before this patch, the partial_bytes variable was used for partial
verification. This would mean that, for two partial_bytes, we would only
check half of the string. Worse than this, one of the two bytes checked
would be the padding byte (e.g. we were checking for z= instead of xyz).