在做urho3d的是时候使用的是lua进行开发,需要对lua进行加密处理,因为go省去各种dll的麻烦,用起来比较方便,所有直接使用go写了
实现目的
- 使用命令行形式,方便些批处理
- 需要输入参数是,输入目录,输出目录,头标记,密码
- 输入目录获取所有的lua文件
- 对lua文件进行加密
- 写入到输出目录
基本就这些功能
代码直接粘贴
package main
/// 目的是读取指定目录下的所有文件进行拷贝,并对lua文件进行加密
import (
"bytes"
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strings"
"github.com/xxtea/xxtea-go/xxtea"
)
//获取指定目录及所有子目录下的所有文件,可以匹配后缀过滤。
func WalkDir(dirPth, suffix string) (files []string, err error) {
files = make([]string, 0, 30)
suffix = strings.ToUpper(suffix) //忽略后缀匹配的大小写
err = filepath.Walk(dirPth, func(filename string, fi os.FileInfo, err error) error { //遍历目录
//if err != nil { //忽略错误
// return err
//}
if fi.IsDir() { // 忽略目录
return nil
}
if strings.HasSuffix(strings.ToUpper(fi.Name()), suffix) {
files = append(files, filename)
}
return nil
})
return files, err
}
func CodecLua(indir stri