support crypto mode

这里还有可能是兼容模式。另外，`this.body ＝ `只赋值一次。