Files
dl/project/dl_console/res/批量计算文件哈希.lua
T
2026-09-16 14:07:40 +08:00

39 lines
1.0 KiB
Lua

local path_src = File.GetAbsolute("./src/")
local path_out = File.GetAbsolute("./out/")
-- 创建输出目录
File.DeleteContent(path_out)
File.CreateFolder(path_out)
local ret_files = File.GetPathFileAll(path_src)
local vec_crc32 = {}
local vec_md5 = {}
local vec_sha256 = {}
for key, value in pairs(ret_files) do
local buf = File.GetBuffer(value)
local crc32 = Crypto.HashCrc32(buf, 0)
local md5 = Crypto.HashMd5(buf)
local sha256 = Crypto.HashSha256(buf)
value = File.GetRelative(value, path_src)
vec_crc32[value] = crc32
vec_md5[value] = md5
vec_sha256[value] = sha256
end
local func_save = function(vec, name)
local str = ""
for key, value in pairs(vec) do
str = str .. to_string(value) .. "\t" .. key .. "\n"
end
File.SaveString(str, path_out .. name)
end
func_save(vec_crc32, "crc32.txt")
func_save(vec_md5, "md5.txt")
func_save(vec_sha256, "sha256.txt")
print "此工具将src文件夹内的文件,计算出crc32、md5、sha256,保存到out文件夹内"
pause()