Simple string hashing

S

Seth

I want to create a simple hash function that can hash strings. Currently I'm
storing passwords as strings in a DB but want to store them as a hash. I
don't need any proper standardised hashing e.g. MD4 or MD5. I also want to
be able to write the function completely using VB Script (therefore no
components etc)

I'm thinking along the lines of converting the string into a number
(probably using the ascii values in some simple formula)
Then divide this by a really large prime number (as large as can fit in a VB
Script variable)
And use the remainder as the hash

This is probably very crude but sufficient for my website. Can anyone give
me any tips on the easiest way to do the above or if it can be improved with
very little extra effort.
Also, what is the largest number that can be stored in a VB script variable,
is it a signed 32 bit number?
And the last question is, how can I find out what the largest prime number
is less than that number? Obviously, I don't need to use a prime number but
it would be better if I did. Thanks in advance
 
C

Chris Barber

Google:
http://p2p.wrox.com/archive/proasp_howto/2002-02/27.asp

Chris.

I want to create a simple hash function that can hash strings. Currently I'm
storing passwords as strings in a DB but want to store them as a hash. I
don't need any proper standardised hashing e.g. MD4 or MD5. I also want to
be able to write the function completely using VB Script (therefore no
components etc)

I'm thinking along the lines of converting the string into a number
(probably using the ascii values in some simple formula)
Then divide this by a really large prime number (as large as can fit in a VB
Script variable)
And use the remainder as the hash

This is probably very crude but sufficient for my website. Can anyone give
me any tips on the easiest way to do the above or if it can be improved with
very little extra effort.
Also, what is the largest number that can be stored in a VB script variable,
is it a signed 32 bit number?
And the last question is, how can I find out what the largest prime number
is less than that number? Obviously, I don't need to use a prime number but
it would be better if I did. Thanks in advance
 
E

Eric Gibson

Seth said:
I want to create a simple hash function that can hash strings.
Currently I'm storing passwords as strings in a DB but want to store
them as a hash. I don't need any proper standardised hashing e.g. MD4
or MD5. I also want to be able to write the function completely using
VB Script (therefore no components etc)

Here is a function in VBScript to hash strings in classical ASP:

http://rossm.net/Electronics/Computers/Software/ASP/#MD5

It's fast and efficient from my experience.

In ASP.NET just use the System.Cryptography namespace. There are MD5
functions in it.


I'm thinking along the lines of converting the string into a number
(probably using the ascii values in some simple formula)
Then divide this by a really large prime number (as large as can fit
in a VB Script variable) And use the remainder as the hash

This is probably very crude but sufficient for my website. Can anyone
give me any tips on the easiest way to do the above or if it can be
improved with very little extra effort. Also, what is the largest
number that can be stored in a VB script variable, is it a signed 32
bit number? And the last question is, how can I find out what the
largest prime number is less than that number?


If I knew how to quickly calculate high primes for a 32 bit number... I
wouldn't be telling YOU! I'd be implementing cracks for all the major
algorithms known, and becoming the most (in)famous cryptographer in
history...

:)

Eric
 
S

Seth

Thanks for this link, However, I've already implemented the solution Chris
pointed out. It isn't that slow and does the job for me fine.

I also wrote a simple program that would calculate prime numbers. It takes a
number and tells you whether it is prime or not. It also has the option of
if it isn't a prime then it will find the next highest or next lowest prime
number. Knowing the highest prime number for a 32 bit number doesn't let you
crack a one way function any quicker though.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,526
Members
44,997
Latest member
mileyka

Latest Threads

Top