Exemples du module string étendu
-- Vérification des hachages
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())
--
-- Chiffrement/déchiffrement des données
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()..'>')
--
-- Petits utilitaires pour les chaînes
str = " 哈哈,he he,1,3,6 "
new = str:split(",") -- Découper la chaîne str selon `,` et renvoyer une table
sys.alert(new[2])
sys.alert(str:rtrim()) -- Résultat " 哈哈,he he,1,3,6" : supprimer les espaces à la fin de la chaîne
sys.alert(str:ltrim()) -- Résultat "哈哈,he he,1,3,6 " : supprimer les espaces au début de la chaîne
sys.alert(str:trim()) -- Résultat "哈哈,he he,1,3,6" : supprimer les espaces aux deux extrémités
sys.alert(str:atrim()) -- Résultat "哈哈,hehe,1,3,6" : supprimer tous les espaces
Remarque : le code ci-dessus utilise la fonction sys.alert, qui n’est pas présentée dans ce chapitre.