|
发表于 2024-9-7 22:57:31
|
显示全部楼层
河北省张家口市
去扣js里面的base64这个方法,看是不是魔改了,大概率用这个就行了
.版本 2
.子程序 编码_BASE64编码, 文本型, 公开, BASE64编码处理;成功返回编码后的文本;
.参数 待编码数据, 字节集, , 待编码字节集
.局部变量 局_数据, 字节集
.局部变量 局_余数, 整数型
.局部变量 局_临时, 字节型, , "3"
.局部变量 局_变量, 整数型
.局部变量 局_集合, 字节集
.局部变量 局_长度, 整数型
.局部变量 局_字符, 字节集
.局部变量 i, 整数型
局_数据 = 待编码数据
局_长度 = 取字节集长度 (局_数据)
.如果真 (局_长度 < 1)
返回 (“”)
.如果真结束
局_余数 = 局_长度 % 3
.如果真 (局_余数 > 0)
局_数据 = 局_数据 + 取空白字节集 (3 - 局_余数)
.如果真结束
局_长度 = 取字节集长度 (局_数据)
局_字符 = 取空白字节集 (局_长度 × 4 ÷ 3)
i = 1
局_集合 = 到字节集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”)
.变量循环首 (1, 局_长度, 3, 局_变量)
局_临时 [1] = 局_数据 [局_变量]
局_临时 [2] = 局_数据 [局_变量 + 1]
局_临时 [3] = 局_数据 [局_变量 + 2]
局_字符 [i] = 局_集合 [右移 (局_临时 [1], 2) + 1]
局_字符 [i + 1] = 局_集合 [左移 (位与 (局_临时 [1], 3), 4) + 右移 (局_临时 [2], 4) + 1]
局_字符 [i + 2] = 局_集合 [左移 (位与 (局_临时 [2], 15), 2) + 右移 (局_临时 [3], 6) + 1]
局_字符 [i + 3] = 局_集合 [位与 (局_临时 [3], 63) + 1]
i = i + 4
.变量循环尾 ()
.如果真 (局_余数 > 0)
局_长度 = 取字节集长度 (局_字符)
.如果 (局_余数 = 1)
局_字符 [局_长度 - 1] = 到字节 (取代码 (“=”, ))
局_字符 [局_长度] = 到字节 (取代码 (“=”, ))
.否则
局_字符 [局_长度] = 到字节 (取代码 (“=”, ))
.如果结束
.如果真结束
返回 (到文本 (局_字符))
|
|