aardio加解密文件

import console;
import console.progress;
var bar = console.progress();

//创建 AES 加密算法容器
import crypt.aes;
var aes = crypt.aes();// crypt.aes,crypt.rc4 用法相同

//设置密码
aes.setPassword("1234567812345678");

//加密文件,可选用参数 @3 指定分块大小(字节单位),默认为 1MB。
aes.encryptFile(
"/待加密文件.txt",//参数可传入文件路径或已打开的文件对象。
"/加密文件.bin",//参数可传入文件路径或已打开的文件对象。
0x100000,//分块大小,省略则默认为 1MB
function(totalSize,readSize){//可选指定进度回调参数
bar.setProgress(readSize/totalSize *100," 正在加密");
}
)

bar.reset();

//解密文件,可选用参数 @3 指定分块大小(字节单位),默认为 1MB。
aes.decryptFile(
"/加密文件.bin",//参数可传入文件路径或已打开的文件对象。
"/解密文件.txt",//参数可传入文件路径或已打开的文件对象。
0x100000,//分块大小,省略则默认为 1MB
function(totalSize,readSize){//可选指定进度回调参数
bar.setProgress(readSize/totalSize*100," 正在解密");
}
)

//如果希望速度更快,可以不指定进度回调函数,或者加大分块大小
//如果发布程序需要图片之类的,应该加密后发布,防止反编译后替换图片。

=应用举例.内存解密
import win.ui;
import crypt.aes;
var aes = crypt.aes();
aes.setPassword("461202580@QQ.com");//设置密码
//aes.encryptFile("\res\menu.png","menu_png.bin",0x100000);//这个是加密图片文件,在后面调用,块大小建议大于文件,否则需要解密时块对齐,容易出错,造成解密不成功!
var pngfile = string.loadBuffer("menu_png.bin");//读取加密图片数据,这种方式是可在内存中解密数据,不用再生成解密图片,加密方式更可靠!
var decr = aes.decrypt(pngfile);//解密读取的二进制数据
///下面是窗体定义
/DSG{{/
var winform = win.form(text="aardio form";right=323;bottom=187)
winform.add(
plus={cls="plus";left=151;top=28;right=281;bottom=115;z=1}
)
/}}/
winform.plus.background = decr;//plus的背景图设置为解密数据
winform.show();
win.loopMessage();0

posted @ 2025-09-22 18:02  同越烽火  阅读(12)  评论(0)    收藏  举报