objects for loop performance optimization (http://jsperf.com/object-keys-vs-hasownproperty/4)
split encrypt/decrypt methods into two pairs: actual encrypt/decrypt + json encode/decode
revert performance optimization fix
Merge pull request #126 from DarkPark/master

split encrypt/decrypt methods into two pairs: actual encrypt/decrypt + json encode/decode