projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util.session: What is a session?
[prosody.git]
/
util
/
random.lua
diff --git
a/util/random.lua
b/util/random.lua
index ed5cdf4b8b2556ae20505eb06df1425e35d3f745..5938a94f820ac4e3379c1f56594d3abe07810a15 100644
(file)
--- a/
util/random.lua
+++ b/
util/random.lua
@@
-10,7
+10,7
@@
local tostring = tostring;
local os_time = os.time;
local os_clock = os.clock;
local ceil = math.ceil;
local os_time = os.time;
local os_clock = os.clock;
local ceil = math.ceil;
-local
sha1 = require "util.hashes".sha1
;
+local
H = require "util.hashes".sha512
;
local last_uniq_time = 0;
local function uniq_time()
local last_uniq_time = 0;
local function uniq_time()
@@
-21,7
+21,7
@@
local function uniq_time()
end
local function new_random(x)
end
local function new_random(x)
- return
sha1
(x..os_clock()..tostring({}));
+ return
H
(x..os_clock()..tostring({}));
end
local buffer = new_random(uniq_time());
end
local buffer = new_random(uniq_time());
@@
-31,8
+31,8
@@
local function seed(x)
end
local function bytes(n)
end
local function bytes(n)
- if #buffer < n then seed(uniq_time()); end
- local r = buffer:sub(
0
, n);
+ if #buffer < n
+4
then seed(uniq_time()); end
+ local r = buffer:sub(
1
, n);
buffer = buffer:sub(n+1);
return r;
end
buffer = buffer:sub(n+1);
return r;
end