mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/securerandom.rb: new method SecureRandom#uuid
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@21869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
309eb9aa34
commit
7752cacd83
2 changed files with 14 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
Thu Jan 29 12:18:54 2009 Technorama Ltd. <oss-ruby@technorama.net>
|
||||
|
||||
* lib/securerandom.rb: new method SecureRandom#uuid
|
||||
|
||||
Wed Jan 28 01:16:50 2009 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
|
||||
|
||||
* lib/erb.rb (def_erb_method): pass the trim_mode [Feature #1032]
|
||||
|
|
|
@ -134,4 +134,14 @@ module SecureRandom
|
|||
Math.ldexp(i64 >> (64-Float::MANT_DIG), -Float::MANT_DIG)
|
||||
end
|
||||
end
|
||||
|
||||
# SecureRandom.uuid generates a v4 random UUID.
|
||||
def self.uuid
|
||||
str = self.random_bytes(16)
|
||||
str[6] = (str[6] & 0x0f) | 0x40
|
||||
str[8] = (str[8] & 0x3f) | 0x80
|
||||
|
||||
ary = str.unpack("NnnnnN")
|
||||
"%08x-%04x-%04x-%04x-%04x%08x" % ary
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue