MD5 Session IDs class.
Generate a new id
# File /Users/ged/source/ruby/Arrow/lib/arrow/session/sha1id.rb, line 50 50: def self::generate( uri, request ) 51: salt = uri.opaque || DEFAULT_SALT 52: seed = [ 53: salt, 54: Time.new.to_s, 55: Object.new.inspect, 56: rand(), 57: Process.pid, 58: ].join 59: return Digest::SHA1.hexdigest( Digest::SHA1.hexdigest(seed) ) 60: 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/sha1id.rb, line 64 64: def self::validate( uri, idstr ) 65: rval = idstr[/^([a-f0-9]{40})$/] 66: rval.untaint 67: return rval 68: end
--- SEC00117
--- ""
--- - methods: - visibility: public aref: M000049 name: generate sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/session/sha1id.rb, line 50</span>\n\ 50: <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\ 51: <span class=\"ruby-identifier\">salt</span> = <span class=\"ruby-identifier\">uri</span>.<span class=\"ruby-identifier\">opaque</span> <span class=\"ruby-operator\">||</span> <span class=\"ruby-constant\">DEFAULT_SALT</span>\n\ 52: <span class=\"ruby-identifier\">seed</span> = [\n\ 53: <span class=\"ruby-identifier\">salt</span>,\n\ 54: <span class=\"ruby-constant\">Time</span>.<span class=\"ruby-identifier\">new</span>.<span class=\"ruby-identifier\">to_s</span>,\n\ 55: <span class=\"ruby-constant\">Object</span>.<span class=\"ruby-identifier\">new</span>.<span class=\"ruby-identifier\">inspect</span>,\n\ 56: <span class=\"ruby-identifier\">rand</span>(),\n\ 57: <span class=\"ruby-constant\">Process</span>.<span class=\"ruby-identifier\">pid</span>,\n\ 58: ].<span class=\"ruby-identifier\">join</span>\n\ 59: <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-constant\">Digest</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">SHA1</span>.<span class=\"ruby-identifier\">hexdigest</span>( <span class=\"ruby-constant\">Digest</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">SHA1</span>.<span class=\"ruby-identifier\">hexdigest</span>(<span class=\"ruby-identifier\">seed</span>) )\n\ 60: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Generate a new id </p> params: ( uri, request ) - visibility: public aref: M000050 name: validate sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/session/sha1id.rb, line 64</span>\n\ 64: <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\ 65: <span class=\"ruby-identifier\">rval</span> = <span class=\"ruby-identifier\">idstr</span>[<span class=\"ruby-regexp re\">/^([a-f0-9]{40})$/</span>]\n\ 66: <span class=\"ruby-identifier\">rval</span>.<span class=\"ruby-identifier\">untaint</span>\n\ 67: <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">rval</span>\n\ 68: <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: 406 $" - name: SVNId desc: |+ SVN <a href="Id.html">Id</a> value: "%q$Id: sha1id.rb 406 2007-07-18 17:01:59Z bbleything $" - name: DEFAULT_SALT desc: |+ Default salt characters value: "'sadblkw456jbhgsdfi7283hnehonaseegop26m'"
Generated with the Darkfish Rdoc Generator.