#### 信息摘要及编码 ##### 内容 - 信息摘要函数 - BASE64编码 - URI EnCode函数 - 进制编码函数 ##### 信息摘要函数 信息摘要函数主要提供CRC32,MD5,SHA这三类信息摘要算法的实现,信息摘要算法广泛地应用于数字签名应用中。 ###### 内容 - 摘要函数使用说明 - GetMsgDigest - GetMsgDigest(文件) ###### 摘要函数使用说明 ```tsl 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编码函数使用说明 ```tsl //常量定义 test_str := 'hello world'; //BASE64 base64 := StrToBase64(test_str); //转换为BASE64编码 orig_str := Base64ToStr(base64); //BASE64编码转换为字符串 ``` ###### StrToBase64 用途:将字符串转换为对应类型。 参数:arg1(按示例顺序传入)。 返回:转换后的数值或日期。 范例 ```tsl return rdo2 StrToBase64('a12'); // 返回字符串:YTEy ``` ###### Base64ToStr 用途:将输入值转换为字符串。 参数:arg1(按示例顺序传入)。 返回:字符串。 范例 ```tsl 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 用途:进制编码函数相关函数。 参数:arg1,arg2,arg3(按示例顺序传入)。 返回:处理后的结果值。 范例 ```tsl 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 用途:进制编码函数相关函数。 参数:arg1,arg2,arg3(按示例顺序传入)。 返回:处理后的结果值。 范例 ```tsl return DecodeRadixstr('0x310x310x320x32', 2, 16); // 返回'1122' // 注:这里的第二个参数是前缀或后缀的串的长度,并非指定串 ``` ###### Decoderadixwstr 用途:进制编码函数相关函数。 参数:arg1,arg2,arg3(按示例顺序传入)。 返回:处理后的结果值。 范例 ```tsl return Decoderadixwstr('0x00310x00310x00320x0032', 2, 16); // 返回'1122' // 注:这里的第二个参数是前缀或后缀的串的长度,并非指定串 ``` ###### Encoderadixwstr 用途:进制编码函数相关函数。 参数:arg1,arg2,arg3(按示例顺序传入)。 返回:处理后的结果值。 范例 ```tsl 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',二进制 ```