.版本 2
.子程序 字符串加密, 字节集
.参数 加密内容, 文本型
.局部变量 内容指针, 整数型
.局部变量 文本长度, 整数型
.局部变量 i, 整数型
.局部变量 结果内容, 字节集
内容指针 = 取指针_文本型 (加密内容)
' 调试输出 (取十六进制文本 (内容指针))
文本长度 = 文本_取长度 (内容指针)
结果内容 = 取空白字节集 (文本长度)
.计次循环首 (文本长度, i)
结果内容 [i] = 到字节 (位异或 (指针_到字节 (内容指针 + i - 1), i + 33))
.计次循环尾 ()
' 原字符串置0 需要内存可写权限
内存置零 (内容指针, 文本长度)
返回 (结果内容)
.子程序 解密字符串, 文本型
.参数 解密内容, 字节集
.局部变量 解密长度, 整数型
.局部变量 解密指针, 整数型
.局部变量 解密结果, 字节集
.局部变量 i, 整数型
解密长度 = 取字节集长度 (解密内容)
解密指针 = 取字节集地址 (解密内容)
解密结果 = 取空白字节集 (解密长度)
.计次循环首 (解密长度, i)
解密结果 [i] = 到字节 (位异或 (解密内容 [i], i + 33))
.计次循环尾 ()
返回 (到文本 (解密结果))
.子程序 取指针_文本型, 整数型
.参数 文本, 文本型
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
.子程序 文本_取长度, 整数型
.参数 文本指针, 整数型
置入代码 ({ 81, 199, 69, 252, 0, 0, 0, 0, 139, 69, 8, 15, 190, 8, 133, 201, 116, 20, 139, 85, 252, 131, 194, 1, 137, 85, 252, 139, 69, 8, 131, 192, 1, 137, 69, 8, 235, 226, 139, 69, 252, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 指针_到字节, 字节型
.参数 指针, 整数型
置入代码 ({ 139, 69, 8, 138, 0, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 内存置零
.参数 内存地址, 整数型
.参数 置零长度, 整数型
置入代码 ({ 81, 87, 139, 125, 8, 133, 255, 116, 7, 139, 77, 12, 51, 192, 243, 170, 95, 89 })
.子程序 取字节集地址, 整数型
.参数 变量, 字节集, 参考
置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 201, 194, 4, 0 })
返回 (0)
易语言简单字符串加解密
于 2023-05-21 03:41:19 首次发布
该文章描述了一种基于位异或的字符串加密和解密方法。通过将文本转化为字节集,然后对每个字节执行位异或操作来实现加密。解密过程则是相同的异或操作但使用不同的参数。此外,还包含了内存管理函数,如内存置零,确保数据安全。
710





