MD5 Session IDs class.
Generate a new id
# File /Users/ged/source/ruby/Arrow/lib/arrow/session/md5id.rb, line 41
41: def self::generate( uri, request )
42: seed = [
43: Time.new.to_s,
44: Object.new.inspect,
45: rand(),
46: Process.pid,
47: ].join
48: return Digest::MD5.hexdigest( Digest::MD5.hexdigest(seed) )
49: end
Returns the validated id if the given id is in the expected form for this type, or nil if it is not.
# File /Users/ged/source/ruby/Arrow/lib/arrow/session/md5id.rb, line 53
53: def self::validate( uri, idstr )
54: rval = idstr[/^([a-f0-9]{32})$/]
55: rval.untaint
56: return rval
57: end
--- SEC00111
--- ""
---
- methods:
- visibility: public
aref: M000130
name: generate
sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/session/md5id.rb, line 41</span>\n\
41: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-keyword kw\">self</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">generate</span>( <span class=\"ruby-identifier\">uri</span>, <span class=\"ruby-identifier\">request</span> )\n\
42: <span class=\"ruby-identifier\">seed</span> = [\n\
43: <span class=\"ruby-constant\">Time</span>.<span class=\"ruby-identifier\">new</span>.<span class=\"ruby-identifier\">to_s</span>,\n\
44: <span class=\"ruby-constant\">Object</span>.<span class=\"ruby-identifier\">new</span>.<span class=\"ruby-identifier\">inspect</span>,\n\
45: <span class=\"ruby-identifier\">rand</span>(),\n\
46: <span class=\"ruby-constant\">Process</span>.<span class=\"ruby-identifier\">pid</span>,\n\
47: ].<span class=\"ruby-identifier\">join</span>\n\
48: <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-constant\">Digest</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">MD5</span>.<span class=\"ruby-identifier\">hexdigest</span>( <span class=\"ruby-constant\">Digest</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">MD5</span>.<span class=\"ruby-identifier\">hexdigest</span>(<span class=\"ruby-identifier\">seed</span>) )\n\
49: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
Generate a new id
</p>
params: ( uri, request )
- visibility: public
aref: M000131
name: validate
sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/session/md5id.rb, line 53</span>\n\
53: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-keyword kw\">self</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">validate</span>( <span class=\"ruby-identifier\">uri</span>, <span class=\"ruby-identifier\">idstr</span> )\n\
54: <span class=\"ruby-identifier\">rval</span> = <span class=\"ruby-identifier\">idstr</span>[<span class=\"ruby-regexp re\">/^([a-f0-9]{32})$/</span>]\n\
55: <span class=\"ruby-identifier\">rval</span>.<span class=\"ruby-identifier\">untaint</span>\n\
56: <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">rval</span>\n\
57: <span class=\"ruby-keyword kw\">end</span>"
m_desc: |-
<p>
Returns the validated id if the given id is in the expected form for this
type, or <tt>nil</tt> if it is not.
</p>
params: ( uri, idstr )
category: Class
type: Public
---
---
- name: SVNRev
desc: |+
SVN Revision
value: "%q$Rev: 437 $"
- name: SVNId
desc: |+
SVN <a href="Id.html">Id</a>
value: "%q$Id: md5id.rb 437 2008-03-28 00:49:20Z deveiant $"
Generated with the Darkfish Rdoc Generator.