|
发表于 2021-3-28 23:49:36
|
显示全部楼层
河北省秦皇岛市
|
生成发送字节集_加密 | 字节集 | | |
原字节集 | 字节集 | | | | 发送指令 | 文本型 | | | | 要发送到的客户句柄 | 整数型 | | | | 是否发送文件 | 逻辑型 | | | | 文件名称 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 更新字节集 | 字节集 | | | 字符合集 | 文本型 | | | 密文1 | 文本型 | | | 密文2 | 文本型 | | | 密文长度 | 整数型 | | | n | 整数型 | | | 更新长度 | 整数型 | | | 原左长度 | 整数型 | | | 原左字节集 | 字节集 | | | 原右字节集 | 字节集 | | | 指令集文本 | 文本型 | | | 最终字节集 | 字节集 | | | 置随机数种子 ()如果真 (是否为空 (要发送到的客户句柄 )) 要发送到的客户句柄 = 0 如果真 (是否为空 (是否发送文件 ) = 假 且 是否为空 (文件名称 )) 其它操作. 信息框_错误 (“请填写发送的文件名”)返回 (到字节集 (“”)) 如果真 (是否为空 (文件名称 )) 文件名称 = “”字符合集 = “0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz!#$%'()*+,-./:;<=>?@[\]^_`{}~&” 计次循环首 (取随机数 (20, 40 ), n )密文1 = 密文1 + 取文本中间 (字符合集, 取随机数 (1, 92 ), 1 )密文2 = 密文2 + 取文本中间 (字符合集, 取随机数 (1, 92 ), 1 )计次循环尾 () 密文长度 = 文本_取长度 (密文1 ) 指令集文本 = #前缀 + #内容分隔符 + 发送指令 + #内容分隔符 + 文件名称 + #内容分隔符 + 到文本 (要发送到的客户句柄 ) + #内容分隔符 更新字节集 = 到字节集 (指令集文本 ) + 原字节集 更新长度 = 字节集_取长度 (更新字节集 )原左长度 = 取随机数 (1, 更新长度 ) 原左字节集 = 字节集_取左边 (更新字节集, 原左长度 )原右字节集 = 字节集_取右边 (更新字节集, 更新长度 - 原左长度 )最终字节集 = 到字节集 (到文本 (原左长度 ) + “|” + 到文本 (密文长度 ) + “|”) + 到字节集 (密文1 ) + 原左字节集 + 到字节集 (密文2 ) + 原右字节集 返回 (加密数据 (最终字节集, “******”, 1 )) |
解析收到字节集_解密 | 字节集 | | |
接收的加密字节集 | 字节集 | | | | 返回的指令数组 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 解密字节集 | 字节集 | | | 解密后文本 | 文本型 | | | 原左长度 | 整数型 | | | 密文长度 | 整数型 | | | 文本数组 | 文本型 | | 0 | 原左字节集 | 字节集 | | | 原右字节集 | 字节集 | | | 原合字节集 | 字节集 | | | 原合文本 | 文本型 | | | 左侧值 | 整数型 | | | 前缀长度 | 整数型 | | | 还原字节集 | 字节集 | | |
解密字节集 = 解密数据 (接收的加密字节集, “******”, 1 )解密后文本 = 到文本 (解密字节集 )文本数组 = 分割文本 (解密后文本, “|”, 2 )原左长度 = 到整数 (文本数组 [1 ])密文长度 = 到整数 (文本数组 [2 ]) 左侧值 = 文本_取长度 (文本数组 [1 ] + “|” + 文本数组 [2 ] + “|”)解密字节集 = 取字节集右边 (解密字节集, 取字节集长度 (解密字节集 ) - 左侧值 - 密文长度 )原左字节集 = 取字节集左边 (解密字节集, 原左长度 )原右字节集 = 取字节集右边 (解密字节集, 取字节集长度 (解密字节集 ) - 原左长度 - 密文长度 )原合字节集 = 原左字节集 + 原右字节集 原合文本 = 到文本 (原合字节集 )返回的指令数组 = 分割文本 (原合文本, #内容分隔符, )前缀长度 = 文本_取长度 (返回的指令数组 [1 ] + 返回的指令数组 [2 ] + 返回的指令数组 [3 ] + 返回的指令数组 [4 ]) + 文本_取长度 ( #内容分隔符 ) × 4 还原字节集 = 取字节集右边 (原合字节集, 取字节集长度 (原合字节集 ) - 前缀长度 )返回 (还原字节集 )
|
|