‘壹’ 易语言如何加解密文本!在编辑框里加密成乱码!(求高手指导)
.版本 2
.支持库 dp1
.子程序 子程序1, 整数型
.局部变量 a, 字节集
a = 加密数据 (到字节集 (编辑框1.内容), 123, 1)
解密数据 (a, 123, 1) ‘解密内容
‘贰’ 易语言文本加密解密
加密后的数据1 = 到文本 (加密数据 (到字节集 (删全部空 (编辑框1.内容)), “456”, 1))
写配置项 (取运行目录 () + “\配置.ini”, “配置”, “配置1”, 加密后的数据1)
加密后的数据2 = 到文本 (加密数据 (到字节集 (删全部空 (编辑框2.内容)), “456”, 1))
写配置项 (取运行目录 () + “\配置.ini”, “配置”, “配置2”, 加密后的数据2)
加密后的数据3 = 到文本 (加密数据 (到字节集 (删全部空 (编辑框3.内容)), “456”, 1))
写配置项 (取运行目录 () + “\配置.ini”, “配置”, “配置3”, 加密后的数据3)
加密后的数据4 = 到文本 (加密数据 (到字节集 (删全部空 (编辑框4.内容)), “456”, 1))
写配置项 (取运行目录 () + “\配置.ini”, “配置”, “配置4”, 加密后的数据4)
‘叁’ 易语言如何加解密文件
调用格式:
〈字节集〉
加密数据
(字节集
字节集数据,文本型
密码文本,[整数型
加密算法])
-
数据操作支持库一->数据加解密调用格式:
〈字节集〉
解密数据
(字节集
字节集数据,文本型
密码文本,[整数型
加密算法])
-
数据操作支持库一->数据加解密我用这个命令对130M的文件进行加解密过
没什么问题.
‘肆’ 易语言文字加密解密问题!
建议不要对加密过的数据直接用到文本()命令转换为文本,建议用base64编码为文本,解密时先base64解码,然后再解密。
可以用超级加解密支持库里的BASE64编码 ()和BASE64解码 ()命令来实现编码和解码。
如果不想下支持库的话下面是BASE64编码和BASE64解码的代码:
.版本 2
.子程序 BASE64编码, 文本型, 公开, BASE64编码处理(返回编码后的文本)
.参数 待编码数据, 字节集, , 待编码字节集
.局部变量 余数
.局部变量 临时, 字节型, , "3"
.局部变量 变量
.局部变量 集合, 字节集
.局部变量 长度, 整数型
.局部变量 字符, 字节集
.局部变量 i
长度 = 取字节集长度 (待编码数据)
.如果真 (长度 < 1)
返回 (“”)
.如果真结束
余数 = 长度 % 3
.如果真 (余数 > 0)
待编码数据 = 待编码数据 + 取空白字节集 (3 - 余数)
.如果真结束
长度 = 取字节集长度 (待编码数据)
字符 = 取空白字节集 (长度 × 4 ÷ 3)
i = 1
集合 = 到字节集 (“+/”)
.变量循环首 (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] = 取代码 (“=”, )
字符 [长度] = 取代码 (“=”, )
.否则
字符 [长度] = 取代码 (“=”, )
.如果结束
.如果真结束
返回 (到文本 (字符))
.子程序 BASE64解码, 字节集, 公开, BASE64解码处理(返回解码后的字节集数据)
.参数 编码文本, 文本型, 参考, 待解码的文本
.局部变量 文本长度
.局部变量 整倍数
.局部变量 三字节组, 字节型, , "3"
.局部变量 四字节组, 字节型, , "4"
.局部变量 编码值
.局部变量 X
.局部变量 n
.局部变量 二进制数据, 字节集
编码文本 = 删全部空 (编码文本)
编码文本 = 子文本替换 (编码文本, #换行符, , , , 真)
文本长度 = 取文本长度 (编码文本)
整倍数 = 文本长度 \ 4
.如果真 (文本长度 % 4 ≠ 0)
整倍数 = 整倍数 + 1
.如果真结束
.计次循环首 (整倍数, X)
.计次循环首 (4, n)
四字节组 [n] = 取代码 (编码文本, (X - 1) × 4 + n)
编码值 = 寻找文本 (“+/”, 字符 (四字节组 [n]), , 假)
.如果真 (编码值 = -1)
跳出循环 ()
.如果真结束
四字节组 [n] = 编码值 - 1
.计次循环尾 ()
三字节组 [1] = 位或 (四字节组 [1] × 4, 四字节组 [2] ÷ 16)
三字节组 [2] = 位或 (四字节组 [2] × 16, 四字节组 [3] ÷ 4)
三字节组 [3] = 位或 (四字节组 [3] × 64, 四字节组 [4])
二进制数据 = 二进制数据 + 到字节集 (三字节组)
处理事件 ()
.计次循环尾 ()
.如果真 (n < 5) ' 最后一组4字符是提前退出的,截取字节集
n = 5 - n
二进制数据 = 取字节集左边 (二进制数据, 取字节集长度 (二进制数据) - n)
.如果真结束
返回 (二进制数据)
‘伍’ 易语言代码里有我的密码,如何阻止被别人破解文本密码,别人很简单的就知道了。有没能加密的
可以通过易语言上面的 工具→系统设置→目的程序安全 插花指令 和 编译结果打乱码。 防止破解,还可以对程序进行加壳处理,源码里面密码最好加密。
‘陆’ 易语言文本加密解密的问题
加密以后的数据时字节集的,所以字节集转文本就达到你说的目的,至于用什么加密方式,这个还得看你怎么选择!!!!!
易语言本身也有加密解密支持库的吧!
‘柒’ 易语言文本加密 解密的问题
首先你自己查一下你自己写的代码,或是说你看过这加密与解密的参数没有?
加密数据(字节集数据,文本型密码,整数型算法)
解密数据(字节集数据,文本型密码,整数型算法)
你写的代码可能连你自己都看不懂吧,我是看不下去...抱歉!
------------------------------------------------------------------------------------------------------------
看一下你的代码,你加密的是编辑框1的内容,而你解密的是编辑框2的内容..所以解密出来的根本就不是被你加密过的数据。
-------------------------------------------------------------------------------------------------------------
以下是实现的代码,参考一下吧:
.版本 2
.支持库 dp1
.支持库 spec
.子程序 _按钮_被单击
.局部变量 加密文本, 字节集
.局部变量 解密文本, 字节集
加密文本 = 加密数据 (到字节集 (编辑框1.内容), “密码”, #RC4算法)
调试输出 (到字节集 (编辑框1.内容))
解密文本 = 解密数据 (加密文本, “密码”, #RC4算法)
调试输出 (到文本 (解密文本))
如果有不懂请追加提问!
‘捌’ 易语言如何对软件解密读取加密数据
加密数据
(读入文件(“需要加密的文件”),“密码文本可自定义,解密需要用到”
,#RC4算法
)
解密数据
(读入文件(“需要解密的文件”),“加密的密码文本”
,#RC4算法)
了解一下这两个命令,返回类型为字节集,可以用写到文件写出加密后的文件
当你需要在软件中打开加密文件,可以新建一个字节集变量,存放解密后的数据,然后在从变量中读取数据
‘玖’ 易语言:加密一个TXT文件,和解密一个txt文件。 比如说点击按钮1,加密“c:\a.txt”到“
.版本 2
.支持库 dp1
.子程序 _按钮1_被单击
.局部变量 路径, 文本型
路径 = “c:\a.txt”
写到文件 (路径, 加密数据 (读入文件 (路径), “123”, ))
.子程序 _按钮2_被单击, , 公开
.局部变量 路径, 文本型
路径 = “c:\a.txt”
写到文件 (路径, 解密数据 (读入文件 (路径), 123, ))