[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)

A while ago I posted a request for people to share their experiences

12 messages 2001/05/01

[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>

10 messages 2001/05/02

[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>

13 messages 2001/05/02

[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>

# On Thu, 3 May 2001, Wayne Scott wrote:

9 messages 2001/05/03

[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>

I'm still trying to figure out the semantics of private methods in Ruby.

39 messages 2001/05/04
[#14656] Re: Yet another "About private methods" question — Dave Thomas <Dave@...> 2001/05/04

Eric Jacoboni <jaco@teaser.fr> writes:

[#14666] Ruby and Web Applications — "Chris Montgomery" <monty@...> 2001/05/04

Greetings from a newbie,

[#14772] Re: Ruby and Web Applications — Jim Freeze <jim@...> 2001/05/07

On Sat, 5 May 2001, Chris Montgomery wrote:

[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>

Sure, Ruby, being interpreted, is slower than a compiled language.

12 messages 2001/05/05

[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>

It is possible to modify the following code to produce

18 messages 2001/05/09

[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>

>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:

15 messages 2001/05/12

[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>

Would it be a good idea to develop a pure Ruby GUI framework built on top of

13 messages 2001/05/15

[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>

Hello all,

16 messages 2001/05/16

[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>

I don't currently use Ruby. To tell the truth, I have no real reason to. I'd

12 messages 2001/05/22

[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>

Ruby is more human(e) than Python. We already have too many animals :-).

15 messages 2001/05/23

[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)

Since Ruby does not require a variable to be declared, do people find

13 messages 2001/05/23

[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>

I have been thinking about the java based ruby interpreter project, and I

48 messages 2001/05/25

[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)

Greetings to all. I am a newcomer to Ruby and I am exploring the

13 messages 2001/05/27
[#15807] Re: is it possible to dynamically coerce objects types in Ruby? — matz@... (Yukihiro Matsumoto) 2001/05/27

Hi,

[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>

There's one thing where I prefer Python over Ruby. Testing whether an

13 messages 2001/05/28

[#15925] Re: Block arguments vs method arguments — ts <decoux@...>

>>>>> "M" == Mike <mike@lepton.fr> writes:

43 messages 2001/05/29
[#16070] Re: Block arguments vs method arguments — "Hal E. Fulton" <hal9000@...> 2001/05/31

----- Original Message -----

[#16081] Re: Block arguments vs method arguments — Sean Russell <ser@...> 2001/05/31

On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:

[#16088] Re: Block arguments vs method arguments — Dan Moniz <dnm@...> 2001/05/31

At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:

[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>

Hello everyone!

12 messages 2001/05/29

[ruby-talk:15690] Problems with MD5 and strong comparison.

From: "Wayne Pierce" <WPierce@...>
Date: 2001-05-25 03:11:21 UTC
List: ruby-talk #15690
Hello,

  I'm having a problem comparing a hexdigest with an item in an array.
I've been hitting walls for a while on this, here's what I've got:

  I'm running 1.6.4 preview 2 on RedHat 7.0 x86.  What I'm trying to do
is take the passwd entered in a form and run it through an MD5 object to
get the hexdigest.  The expected passwd is stored in a file for now and
I compare the two.  Here's the code relating to the login part:

--- Begin Code ---

  def loginPage(error="")
    @error = error
    @page = "<FORM ACTION='admin.rb?loginCheck' METHOD='POST'>
      <TABLE ALIGN='Center' WIDTH='20%' BORDER='0'>
        <TR><TD WIDTH='5%' ALIGN='Right'>Login ID:</TD>
            <TD><INPUT TYPE='text' NAME='loginID' SIZE='20'></TD></TR>
        <TR><TD WIDTH='5%' ALIGN='Right'>Password:</TD>
            <TD><INPUT TYPE='password' NAME='passwd'
SIZE='20'></TD></TR>
        <TR><TD COLSPAN='2' ALIGN='Center'><INPUT TYPE='submit'
VALUE='Login'></TD>
      </TABLE></FORM>"
    self.printPage(@page,@error)
  end

  def loginCheck
    cgi = CGI.new
    if cgi.param("loginID").empty?
      @error = "You must enter a login ID before submitting the form."
      self.loginPage(@error)
      return
    elsif cgi.param("passwd").empty?
      @error = "You must enter a password before submitting the form."
      self.loginPage(@error)
      return
    end

    idVal =  cgi.param("loginID")
    passVal = cgi.param("passwd")

    #Verify that this user exists and check their password.
    validUser = File.exists?("/var/www/info/#{idVal}")
    
    if not validUser
      @error = "Invalid user ID or password."
      self.loginPage(@error)
      return
    elsif validUser
      require 'md5'

      info = File.open("/var/www/info/#{idVal}", "r")
      md5 = MD5.new
      info.each{
        |x| tmp = x.split(":")

        if tmp[0] == "passwd"

##
# This part is the problem.
##

          case tmp[1].strip

            when md5.update(passVal).hexdigest.strip
              print "valid account..."
              return

            else
              @error = "Invalid user ID or password."
              # Print the values, if they didn't match.  Only for
testing.
              print md5.update(passVal).hexdigest, tmp[1]
              self.loginPage(@error)
              return
          end
        end
      }
    else
      print "Something odd happened..."
    end
  end

--- End Code ---

I have a case statement in this version, I've tried if/elsif/else as
well.  I can print out the values of tmp[1].strip and
md5.update(passVal).hexdigest.strip; they are identical.  I've tried to
replace either side with a string literal of the hexdigest, I've used
.to_s to ensure they are both strings.

They match when using .type on both sides, so I know they are both
strings.  But using .type is the only time they will match correctly.
I've tried to use ==, =~ and eql?.

Any help would be *greatly* appreciated; TIA,

Wayne

PS: Do the code snipets get archived outside of the normal mailing list
archives?  I was thinking that something scanning the mailing list to
add code snipets to the cookbook would be useful, but don't want to
repeat any existing system.

Attachments (1)

smime.p7s (2.83 KB, application/x-pkcs7-signature)

In This Thread

Prev Next