encrypt and decrypt both working