keep decrypt api consistent with original, add decryptSync