Exemplos do string estendido
-- verificação de hashes
local str = "sozereal"
sys.alert('"'..str..'" 的 16 进制编码为: <'..str:to_hex()..'>')
sys.alert('<'..str:to_hex()..'> 转换成明文为: "'..str:to_hex():from_hex()..'"')
sys.alert('"'..str..'" 的 MD5 值是: '..str:md5())
sys.alert('"'..str..'" 的 SHA1 值是: '..str:sha1())
local binstr = "\0\1\2\3\4\5"
sys.alert('<'..binstr:to_hex()..'> 的 MD5 值是: '..binstr:md5())
sys.alert('<'..binstr:to_hex()..'> 的 SHA1 值是: '..binstr:sha1())
--
-- criptografia/descriptografia de dados
local msg = "\5\4\3\2\1\0"
local key = "sozereal"
local emsg = msg:aes128_encrypt(key)
local emsgb64 = emsg:base64_encode()
sys.alert('二进制数据<'..msg:to_hex()..'> \n 使用 AES128 算法 密钥 "'..key..'" 加密 值是: <'..emsg:to_hex()..'> \n base64 串为 "'..emsgb64..'"')
local tmp = emsgb64:base64_decode()
msg = tmp:aes128_decrypt(key)
sys.alert('"'..emsgb64..'" base64 解码后的数据为 <'..tmp:to_hex()..'> \n使用 AES128 算法 密钥 "'..key..'" 解密 值是: <'..msg:to_hex()..'>')
--
-- utilitários de string
str = " 哈哈,he he,1,3,6 "
new = str:split(",") -- divide a string str por `,` e retorna uma tabela
sys.alert(new[2])
sys.alert(str:rtrim()) -- resultado " 哈哈,he he,1,3,6"; remove os espaços em branco no fim da string
sys.alert(str:ltrim()) -- resultado "哈哈,he he,1,3,6 "; remove os espaços em branco no início da string
sys.alert(str:trim()) -- resultado "哈哈,he he,1,3,6"; remove os espaços em branco no início e no fim
sys.alert(str:atrim()) -- resultado "哈哈,hehe,1,3,6"; remove todos os espaços em branco da string
Observação: o código acima usa a função sys.alert, que não pertence a este capítulo.