Since mcrypt is needed to for the encrypt/decrypt methods and the unit test will fail if mcrypt is not present, a check in closer would be handy.

Problem is that if the mcrypt library is not present NO encryption is being performed without warning, thus returning the string like it was passed.