Encoding/decoding with userkey will now throw an exception when failing rather than returning false