Мне нужно преобразовать строку sip callId (например, [email protected],8.8) в requestId, и я использую дайджест sha1 для получения хэша. Мне нужно преобразовать это шестнадцатеричное число в uint64_t из-за внутренней совместимости:
--
-- Obtain request-id from callId
--
-- Returns hash
--
function common_get_request_id( callId )
local command = "echo -n \"" .. callId .. "\" | openssl sha1 | sed 's/(stdin)= //g'"
local handle = assert( io.popen( command, "r" ) )
local output = handle:read( "*all" )
local outputHash = string.gsub(output, "\n", "") -- strip newline
handle:close()
-- How to convert outputHash to uint64?
end
Я не уверен в поддержке uint64 в Lua. Кроме того, как сделать преобразование?