local ffi = require("ffi")
ffi.cdef[[
int __stdcall CryptAcquireContextW(
int *phProv,
int pszContainer,
int pszProvider,
int dwProvType,
int dwFlags
);
int __stdcall CryptGenRandom(
int hProv,
int dwLen,
char *pbBuffer
);
]]
local phProv = ffi.new("int[?]", 1)
local buffer = ffi.new("char[?]", 18)
local adv = ffi.load(ffi.os == "Windows" and "Advapi32")
local r = adv.CryptAcquireContextW(phProv, 0, 0, 1, -268435456)
adv.CryptGenRandom(phProv[0], 16, buffer)
print(ffi.string(buffer, 16))
Luajit 调用Advapi32.dll中API函数输出随机字串
最新推荐文章于 2024-08-21 17:46:03 发布