Changeset

1304:0a49759464e0

util.uuid: Added function seed(string) to allow further seeding of the PRNG
author Waqas Hussain <waqas20@gmail.com>
date Thu, 04 Jun 2009 19:55:56 +0500
parents 1303:2170e2c0d57a
children 1305:37657578ea85
files util/uuid.lua
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/util/uuid.lua	Thu Jun 04 18:04:26 2009 +0500
+++ b/util/uuid.lua	Thu Jun 04 19:55:56 2009 +0500
@@ -28,10 +28,11 @@
 end
 
 local buffer = new_random(uniq_time());
+local function _seed(x)
+	buffer = new_random(buffer..x);
+end
 local function get_nibbles(n)
-	if #buffer < n then
-		buffer = new_random(buffer..uniq_time());
-	end
+	if #buffer < n then seed(uniq_time()); end
 	local r = buffer:sub(0, n);
 	buffer = buffer:sub(n+1);
 	return r;
@@ -44,5 +45,6 @@
 	-- generate RFC 4122 complaint UUIDs (version 4 - random)
 	return get_nibbles(8).."-"..get_nibbles(4).."-4"..get_nibbles(3).."-"..(get_twobits())..get_nibbles(3).."-"..get_nibbles(12);
 end
+seed = _seed;
 
 return _M;