Encode

该函数根据传入的参数对数据进行编码。

Encode函数返回编码、加密后的数据。 string

Encode(algo, inputFormat, outputFormat, data) Encode(algo, inputFormat, outputFormat, data, keyFormat, key)

参数algo指定编码计算时使用的算法。

支持的算法包括:”raw”(不使用算法)、”sign”、”signTx”、”md4”、”md5”、”sha256”、”sha512”、”sha1”、”keccak256”、”sha3.224”、”sha3.256”、”sha3.384”、”sha3.512”、”sha3.keccak256”、”sha3.keccak512”、”sha512.384”、”sha512.256”、”sha512.224”、”ripemd160”、”blake2b.256”、”blake2b.512”、”blake2s.128”、”blake2s.256”。

参数algo还支持文本编解码:”text.encoder.utf8”、”text.decoder.utf8”、”text.encoder.gbk”、”text.decoder.gbk”,用于字符串的编码和解码。

参数algo还支持”ed25519”算法。可以使用不同的哈希算法,例如:”ed25519.md5”、”ed25519.sha512”等。同时支持ed25519.seed计算。 algo true string 指定data参数的数据格式。inputFormat参数可设置为:”raw”、”hex”、”base64”、”string”之一。”raw”表示原始数据,”hex”表示hex编码,”base64”表示base64编码,”string”表示字符串。 inputFormat true string 指定输出的数据格式。outputFormat参数可设置为:”raw”、”hex”、”base64”、”string”之一。”raw”表示原始数据,”hex”表示hex编码,”base64”表示base64编码,”string”表示字符串。 outputFormat true string 参数data为需要处理的数据。 data true string 指定key参数的数据格式。keyFormat参数可设置为:”raw”、”hex”、”base64”、”string”之一。”raw”表示原始数据,”hex”表示hex编码,”base64”表示base64编码,”string”表示字符串。 keyFormat false string 参数keyHMAC加密时使用的密钥。

当参数algo设置为”sign”或”signTx”时,需要提供key参数。

当参数algo设置为”raw”时,不会使用key参数进行HMAC加密(因为HMAC加密必须指定算法)。 key false string

”`javascript function main() { Log(Encode(“raw”, “raw”, “hex”, “example”, “raw”, “123”)) // 6578616d706c65 Log(Encode(“raw”, “raw”, “hex”, “example”)) // 6578616d706c65 Log(Encode(“sha256”, “raw”, “hex”, “example”, “raw”, “123”)) // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba Log(Encode(“sha256”, “raw”, “hex”, “example”, “”, “123”)) // 50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c Log(Encode(“sha256”, “raw”, “hex”, “example”, null, “123”)) // 50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c Log(Encode(“sha256”, “raw”, “hex”, “example”, “string”, “123”)) // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba

Log(Encode("raw", "raw", "hex", "123"))           // 313233
Log(Encode("raw", "raw", "base64", "123"))        // MTIz

Log(Encode("sha256", "raw", "hex", "example", "hex", "313233"))      // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba
Log(Encode("sha256", "raw", "hex", "example", "base64", "MTIz"))     // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba

} python def main(): Log(Encode(“raw”, “raw”, “hex”, “example”, “raw”, “123”)) # 6578616d706c65 Log(Encode(“raw”, “raw”, “hex”, “example”, “”, “”)) # 6578616d706c65 Log(Encode(“sha256”, “raw”, “hex”, “example”, “raw”, “123”)) # 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba Log(Encode(“sha256”, “raw”, “hex”, “example”, “”, “123”)) # 50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c

Log(Encode("sha256", "raw", "hex", "example", "string", "123"))      # 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba

Log(Encode("raw", "raw", "hex", "123", "", ""))           # 313233
Log(Encode("raw", "raw", "base64", "123", "", ""))        # MTIz

Log(Encode("sha256", "raw", "hex", "example", "hex", "313233"))      # 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba
Log(Encode("sha256", "raw", "hex", "example", "base64", "MTIz"))     # 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba```

”`cpp void main() { Log(Encode(“raw”, “raw”, “hex”, “example”, “raw”, “123”)); // 6578616d706c65 Log(Encode(“raw”, “raw”, “hex”, “example”)); // 6578616d706c65 Log(Encode(“sha256”, “raw”, “hex”, “example”, “raw”, “123”)); // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba Log(Encode(“sha256”, “raw”, “hex”, “example”, “”, “123”)); // 50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c

Log(Encode("sha256", "raw", "hex", "example", "string", "123"));      // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba

Log(Encode("raw", "raw", "hex", "123"));           // 313233
Log(Encode("raw", "raw", "base64", "123"));        // MTIz

Log(Encode("sha256", "raw", "hex", "example", "hex", "313233"));      // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba
Log(Encode("sha256", "raw", "hex", "example", "base64", "MTIz"));     // 698d54f0494528a759f19c8e87a9f99e75a5881b9267ee3926bcf62c992d84ba

} Encode函数调用示例。 javascript function main(){ var ret1 = Encode(“text.encoder.utf8”, “raw”, “hex”, “你好”) // e4bda0e5a5bd Log(ret1) var ret2 = Encode(“text.decoder.utf8”, “hex”, “string”, ret1) Log(ret2)

var ret3 = Encode("text.encoder.gbk", "raw", "hex", "你好")      // c4e3bac3
Log(ret3)
var ret4 = Encode("text.decoder.gbk", "hex", "string", ret3)
Log(ret4)

} python def main(): ret1 = Encode(“text.encoder.utf8”, “raw”, “hex”, “你好”, “”, “”) # e4bda0e5a5bd Log(ret1) ret2 = Encode(“text.decoder.utf8”, “hex”, “string”, ret1, “”, “”) Log(ret2)

ret3 = Encode("text.encoder.gbk", "raw", "hex", "你好", "", "")      # c4e3bac3
Log(ret3)
ret4 = Encode("text.decoder.gbk", "hex", "string", ret3, "", "")```

”`cpp void main(){ auto ret1 = Encode(“text.encoder.utf8”, “raw”, “hex”, “你好”); // e4bda0e5a5bd Log(ret1); auto ret2 = Encode(“text.decoder.utf8”, “hex”, “string”, ret1); Log(ret2);

auto ret3 = Encode("text.encoder.gbk", "raw", "hex", "你好");      // c4e3bac3
Log(ret3);
auto ret4 = Encode("text.decoder.gbk", "hex", "string", ret3);
Log(ret4);

} 参数algo”` 还支持以下值:”text.encoder.utf8”、”text.decoder.utf8”、”text.encoder.gbk”、”text.decoder.gbk”,用于对字符串进行编码和解码。

Encode()函数仅支持实盘。如果不传入keykeyFormat参数,则不使用密钥加密。