add a decrypt method
use byte array instead of string