Why do you write the blocksize in hex here? And why is "2" the default? Should we have a default at all? After all, this is just a convenience constructor but the class that constructs objects of this type should probably control all parameters. I don't see that anyone else needs to construct objects of this type.