playbook/docs/tsl/syntax_book/function/tsl/digest_encoding.md

5.3 KiB
Raw Blame History

信息摘要及编码

内容
  • 信息摘要函数
  • BASE64编码
  • URI EnCode函数
  • 进制编码函数
信息摘要函数

信息摘要函数主要提供CRC32MD5SHA这三类信息摘要算法的实现信息摘要算法广泛地应用于数字签名应用中。

内容
  • 摘要函数使用说明
  • GetMsgDigest
  • GetMsgDigest(文件)
摘要函数使用说明
filename := "d:\\test.txt";
teststr := "hello";
alias := ""; //别名
return array(
"filename":filename,
"GetMsgDigest(crc32_str)":GetMsgDigest(teststr,0),
"GetMsgDigest(md5_str)":GetMsgDigest(teststr,1),
"GetMsgDigest(sha1_str)":GetMsgDigest(teststr,2),
"GetMsgDigest(sha224_str)":GetMsgDigest(teststr,3),
"GetMsgDigest(sha256_str)":GetMsgDigest(teststr,4),
"GetMsgDigest(sha384_str)":GetMsgDigest(teststr,5),
"GetMsgDigest(sha512_str)":GetMsgDigest(teststr,6),
"GetMsgDigest(alias, filename, crc32_str)":GetMsgDigest(alias,filename,0),
"GetMsgDigest(alias, filename, md5_str)":GetMsgDigest(alias,filename,1),
"GetMsgDigest(alias, filename, sha1_str)":GetMsgDigest(alias,filename,2),
"GetMsgDigest(alias, filename, sha224_str)":GetMsgDigest(alias,filename,3),
"GetMsgDigest(alias, filename, sha256_str)":GetMsgDigest(alias,filename,4),
"GetMsgDigest(alias, filename, sha384_str)":GetMsgDigest(alias,filename,5),
"GetMsgDigest(alias, filename, sha512_str)":GetMsgDigest(alias,filename,6)
);
GetMsgDigest

用途:信息摘要函数相关函数。 参数arg1按示例顺序传入。 返回:处理后的结果值。

  • 摘要函数使用说明
  • GetMsgDigest
  • GetMsgDigest(文件)
GetMsgDigest(文件)
BASE64编码

字符串与BASE64编码的互转函数

内容
  • BASE64编码函数使用说明
  • StrToBase64
  • Base64ToStr
BASE64编码函数使用说明
//常量定义
test_str := 'hello world';
//BASE64
base64 := StrToBase64(test_str);  //转换为BASE64编码
orig_str := Base64ToStr(base64); //BASE64编码转换为字符串
StrToBase64

用途:将字符串转换为对应类型。 参数arg1按示例顺序传入。 返回:转换后的数值或日期。

范例

return rdo2 StrToBase64('a12'); // 返回字符串YTEy
Base64ToStr

用途:将输入值转换为字符串。 参数arg1按示例顺序传入。 返回:字符串。

范例

return rdo2 Base64ToStr('YTEy'); // 返回字符串a12
URI EnCode函数

与JavaScript同名函数功能完全相同。

内容
  • EncodeURIComponent
  • DecodeURIComponent
  • EncodeURI
  • DecodeURI
EncodeURIComponent
DecodeURIComponent
EncodeURI
DecodeURI
进制编码函数
内容
  • 进制编码函数使用说明
  • EncodeRadixstr
  • DecodeRadixstr
  • Decoderadixwstr
  • Encoderadixwstr
进制编码函数使用说明

encoderadixstr("123","0x",16)结果为"0x310x320x33" 前缀

encoderadixstr("123","h",0x80000000+16)结果为"31h32h33h" 后缀

decoderadixstr("0x310x320x33",2,16)的结果为123

encoderadixstr("123","h",0x80000000+16)结果为"31h32h33h"

decoderadixstr("31h32h33h",1,0x80000000+16)结果为"123"

encoderadixstr("天软","0x",16)结果为"0xCC0xEC0xC80xED" 默认大写

encoderadixstr("天软","0x",0x40000000+16)结果为"0xcc0xec0xc80xed" 小写字母

EncodeRadixstr

用途:进制编码函数相关函数。 参数arg1arg2arg3按示例顺序传入。 返回:处理后的结果值。

范例

return EncodeRadixstr("1122", "0x", 16); // 结果为’ 0x310x310x320x32前缀,16进制
return EncodeRadixstr("1122", "h", 0x80000000 + 16); //  31h31h32h32h后缀,16进制
return EncodeRadixstr("天软", "ox", 0x80000000 + 16);
//  CCoxECoxC8oxEDox后缀默认为大写字母16进制
return EncodeRadixstr("天软", "0X", 0x80000000 + 0x40000000 + 16);
//  cc0Xec0Xc80Xed0X后缀小写字母16进制
return EncodeRadixstr("18", "B", 2); //  B00110001B00111000二进制
DecodeRadixstr

用途:进制编码函数相关函数。 参数arg1arg2arg3按示例顺序传入。 返回:处理后的结果值。

范例

return DecodeRadixstr('0x310x310x320x32', 2, 16); // 返回'1122'
// 注:这里的第二个参数是前缀或后缀的串的长度,并非指定串
Decoderadixwstr

用途:进制编码函数相关函数。 参数arg1arg2arg3按示例顺序传入。 返回:处理后的结果值。

范例

return Decoderadixwstr('0x00310x00310x00320x0032', 2, 16); // 返回'1122'
// 注:这里的第二个参数是前缀或后缀的串的长度,并非指定串
Encoderadixwstr

用途:进制编码函数相关函数。 参数arg1arg2arg3按示例顺序传入。 返回:处理后的结果值。

范例

return Encoderadixwstr("1122", "0x", 16);
// 结果为'0x00310x00310x00320x0032',前缀,16进制
return Encoderadixwstr("1122", "h", 0x80000000 + 16);
// '0031h0031h0032h0032h',后缀,16进制
return Encoderadixwstr("天软", "ox", 0x80000000 + 16); // ''
// '5929ox8F6Fox',后缀默认为大写字母16进制
return Encoderadixwstr("天软", "0X", 0x80000000 + 0x40000000 + 16);
// '59290X8f6f0X',后缀,小写字母,16进制
return Encoderadixwstr("18", "B", 2);
// 'B0000000000110001B0000000000111000',二进制