下面是我写的加密加密代码。你的代码错在加密的时候加密得到的数据已经是字节集了,你再次执行转换字节集可能导致的数据丢失。
实例使用了2个按钮3个文本框。
.版本 2
.支持库 spec
.支持库 dp1
.支持库 shell
.子程序 _加密_被单击
.局部变量 bin, 字节集
.判断开始 (加密T.内容 ≠ “” 且 加密T.内容 = 解密T.内容)
.默认
调试输出 (“加密为空或加密密码二次校验错误”)
返回 ()
.判断结束
bin = 加密数据 (到字节集 (原文.内容), 加密T.内容, #RC4算法) ' 注意了,这里已经是字节集了!
.判断开始 (写到文件 (取运行目录 () + “\tmp.txt”, bin))
.判断开始 (信息框 (“写到文件成功,是否解密并查看内容”, #是否钮, ) = #是钮)
解密过程 (取运行目录 () + “\tmp.txt”)
.默认
.判断结束
.默认
信息框 (“写到文件失败”, 0, )
返回 ()
.判断结束
.子程序 解密过程
.参数 path, 文本型
.局部变量 bin, 字节集
bin = 读入文件 (path)
bin = 解密数据 (bin, 解密T.内容, #RC4算法)
' 运行 (“start ” + path, 假, )
执行 (, “notepad.exe”, path, , )
信息框 (到文本 (bin), 0, )
.子程序 _解密_被单击
.局部变量 bin, 字节集
bin = 读入文件 (取运行目录 () + “\tmp.txt”)
bin = 解密数据 (bin, 解密T.内容, #RC4算法)
' 运行 (“start ” + path, 假, )
写到文件 (取运行目录 () + “\old.txt”, bin)
执行 (, “notepad.exe”, 取运行目录 () + “\old.txt”, , )
信息框 (到文本 (bin), 0, )
易语言自带的加密数据()代码加密后无法完全解密,可以自己写加密
.版本 2
.子程序 XOR, 字节集
.参数 字节集, 字节集, , 待异或字节集
.参数 因子, 整数型, , 异或因子
.局部变量 长度, 整数型
.局部变量 I, 整数型
长度 = 取字节集长度 (字节集)
.变量循环首 (1, 长度, 1, I)
字节集 [I] = 位异或 (字节集 [I], 因子)
.变量循环尾 ()
输出调试文本 (到文本 (字节集))
返回 (字节集)
.版本 2
.子程序 _按钮1_被单击
欲加密文本 = 到文本 (读入文件 (取运行目录 () + “\1.txt”))
加密文本 = 到文本 (XOR (到字节集 (欲加密文本), 10086))
写到文件 (取运行目录 () + “\1.txt”, 到字节集 (加密文本))
解密时将加密代码再运行一次就行了
位密码算法:DES 三重DES(Triple-DES)仍然是很安全的,但是也只是在别无他法的情况下的一个较好的选择。显然高级加密标准(AES)是一个更好的加密算法,NIST用AES代替Triple-DES作为他们的标准(下面有更详细的讨论)。其他较好的算法包括另外两个AES的变种算法Twofish和Serpent-也称为CAST-128,它是效率和安全的完美结合。这几个算法不仅比DES更安全,而且也比DES的速度更快。为什么要使用一些又慢又不安全的算法呢?SHA1是一个哈希函数,而不是一个加密函数。作为一个哈希函数,SHA1还是相当优秀的,但是还需要几年的发展才能用作加密算法。如果你正在设计一个新系统,那么谨记你可能会在若干年后用SHA1代替目前的算法。我再重复一遍:只是可能。呵呵,希望能帮到你!谢谢望采纳哦!