优化代码

master
15128022404 2 years ago
parent 542ccfcb99
commit 02234d0989

@ -4,49 +4,11 @@ import (
"flag"
"fmt"
"goED/util"
"io/ioutil"
"os"
)
//PathExists 判断一个文件或文件夹是否存在
//输入文件路径根据返回的bool值来判断文件或文件夹是否存在
func PathExists(path string) (bool, string) {
if len(path) == 0 {
return false, "path 不能为空"
}
_, err := os.Stat(path)
if err == nil {
return true, "存在"
}
if os.IsNotExist(err) {
return false, "path路径文件不存在"
}
return false, "path路径文件不存在"
}
func readFileToStr(path string) string {
content, err := ioutil.ReadFile(path)
if err != nil {
fmt.Println("read file failed, err:", err)
return ""
}
return string(content)
}
func genFile(str, path string) {
file, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
if err != nil {
fmt.Println("open file failed, err:", err)
return
}
defer file.Close()
file.Write([]byte(str)) //写入字节切片数据
//file.WriteString("hello go") //直接写入字符串数据
}
func test() {
//content, err := ioutil.ReadFile("C:\\Users\\61778\\Desktop\\HelloWorld.class")
strContent := readFileToStr("C:\\METSIM\\example\\gascleaning_1.5_30.sfw")
strContent := util.ReadFileToStr("C:\\METSIM\\example\\gascleaning_1.5_30.sfw")
//fmt.Println(strContent)
Encrypt, _ := util.AesEcpt.AesBase64Encrypt(strContent)
//fmt.Printf("Encrypt: %v\n", Encrypt)
@ -54,33 +16,6 @@ func test() {
//fmt.Printf("Decrypt: %v\n", Decrypt)
fmt.Printf("明文长度: %v\n解密后长度: %v\n", len(strContent), len(Decrypt))
}
func testGenFile(path, enPath, dePath string) {
strContent := readFileToStr(path)
Encrypt, _ := util.AesEcpt.AesBase64Encrypt(strContent)
genFile(Encrypt, enPath)
//fmt.Printf("Encrypt: %v\n", Encrypt)
Decrypt, _ := util.AesEcpt.AesBase64Decrypt(Encrypt)
genFile(Decrypt, dePath)
//fmt.Printf("Decrypt: %v\n", Decrypt)
fmt.Printf("明文长度: %v\n解密后长度: %v\n", len(strContent), len(Decrypt))
}
func enFile(path string) {
enFileToOutPath(path, path)
}
func enFileToOutPath(path, outPath string) {
strContent := readFileToStr(path)
Encrypt, _ := util.AesEcpt.AesBase64Encrypt(strContent)
genFile(Encrypt, outPath)
}
func deFile(path string) {
deFileToOutPath(path, path)
}
func deFileToOutPath(path string, outPath string) {
strContent := readFileToStr(path)
Decrypt, _ := util.AesEcpt.AesBase64Decrypt(strContent)
genFile(Decrypt, outPath)
}
var mode = flag.String("mode", "de", "加密或者解密 en de")
var path = flag.String("path", "", "文件路径")
@ -90,7 +25,7 @@ var key = flag.String("key", "", "加密秘钥-限制大小写字母数字16位
func main() {
flag.Parse()
//验证操作文件路径是否有效
flag, message := PathExists(*path)
flag, message := util.PathExists(*path)
if !flag {
fmt.Printf(message)
} else {
@ -112,21 +47,21 @@ func main() {
//执行加密
} else if *mode == "en" {
modeName = "加密"
enFileToOutPath(*path, out)
util.EnFileToOutPath(*path, out)
//执行解密
} else if *mode == "de" {
modeName = "解密"
deFileToOutPath(*path, out)
util.DeFileToOutPath(*path, out)
}
fmt.Println(modeName + "成功,被" + modeName + "文件是在: " + *path + " " + modeName + "后文件生产在:" + out)
}
//test()
// testGenFile("C:\\METSIM\\example\\gascleaning_1.5_30.sfw",
// TestGenFile("C:\\METSIM\\example\\gascleaning_1.5_30.sfw",
// "C:\\Users\\61778\\Desktop\\testGoED\\gascleaning_1.5_30.sfw.EN",
// "C:\\Users\\61778\\Desktop\\testGoED\\gascleaning_1.5_30.sfw")
// enFile("C:\\Users\\61778\\Desktop\\HelloWorld.class")
// deFile("C:\\Users\\61778\\Desktop\\HelloWorld.class")
// EnFile("C:\\Users\\61778\\Desktop\\HelloWorld.class")
// DeFile("C:\\Users\\61778\\Desktop\\HelloWorld.class")
// cmd := exec.Command("cmd", "/C", "C:\\METSIM\\METSIM.exe",
// "MOD=C:\\Users\\61778\\Desktop\\testGoED\\gascleaning_1.5_30.sfw", "SIL=1")

@ -0,0 +1,71 @@
package util
import (
"fmt"
"io/ioutil"
"os"
)
//PathExists 判断一个文件或文件夹是否存在
//输入文件路径根据返回的bool值来判断文件或文件夹是否存在
func PathExists(path string) (bool, string) {
if len(path) == 0 {
return false, "path 不能为空"
}
_, err := os.Stat(path)
if err == nil {
return true, "存在"
}
if os.IsNotExist(err) {
return false, "path路径文件不存在"
}
return false, "path路径文件不存在"
}
func ReadFileToStr(path string) string {
content, err := ioutil.ReadFile(path)
if err != nil {
fmt.Println("read file failed, err:", err)
return ""
}
return string(content)
}
func GenFile(str, path string) {
file, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
if err != nil {
fmt.Println("open file failed, err:", err)
return
}
defer file.Close()
file.Write([]byte(str)) //写入字节切片数据
//file.WriteString("hello go") //直接写入字符串数据
}
func TestGenFile(path, enPath, dePath string) {
strContent := ReadFileToStr(path)
Encrypt, _ := AesEcpt.AesBase64Encrypt(strContent)
GenFile(Encrypt, enPath)
//fmt.Printf("Encrypt: %v\n", Encrypt)
Decrypt, _ := AesEcpt.AesBase64Decrypt(Encrypt)
GenFile(Decrypt, dePath)
//fmt.Printf("Decrypt: %v\n", Decrypt)
fmt.Printf("明文长度: %v\n解密后长度: %v\n", len(strContent), len(Decrypt))
}
func EnFile(path string) {
EnFileToOutPath(path, path)
}
func EnFileToOutPath(path, outPath string) {
strContent := ReadFileToStr(path)
Encrypt, _ := AesEcpt.AesBase64Encrypt(strContent)
GenFile(Encrypt, outPath)
}
func DeFile(path string) {
DeFileToOutPath(path, path)
}
func DeFileToOutPath(path string, outPath string) {
strContent := ReadFileToStr(path)
Decrypt, _ := AesEcpt.AesBase64Decrypt(strContent)
GenFile(Decrypt, outPath)
}
Loading…
Cancel
Save