func init // adds using namespace sys.add_use('System.Security') sys.add_use('System.Security.Cryptography') sys.add_use('System.Runtime.InteropServices') sys.add_use('System.Text') // use external methods sys.LoadMethod("ProtectString") // initialize instance sys.add_var(this.name, 'byte[]') blk_init.println(this.codename, ' = Encoding.Unicode.GetBytes(', this.props("Entropy").value, ');') end func doEncrypt(data) event('onEncrypt', 'EncryptString(ToSecureString(' + d("Unprotect") + '), ' + this.codename + ')') end func doDecrypt(data) event('onDecrypt', 'ToInsecureString(DecryptString(' + d("Protect") + ', ' + this.codename + '))') end