views:

76

answers:

1

Hello,

I have inherited a database that is throwing me for a loop. Each user in this database has a "Password" and a "HashedPassword". I changed my password to "Testing" and discovered that the database stores the password like the following:

Original: "Testing" 
Password Field: 211216058087052117197079019018007020147229039085161161
Hashed Password: 16e118ce2fd9e0cebda251af3a24fd6c5b6578ab

I was able to reverse engineer it to discover that the "Hashed Password" is generated using SHA1 encryption. My problem is, I can't figure out what is used for just the "Password Field". Can anyone give me any ideas of how to determine how the "Password Field" is generated? Can anyone look at this and tell me?

Thanks!

+5  A: 

If you don't have the original source, but do have a copy of the application and it's written in .net, then use Reflector to disassemble the application to review the code the original dev was using to store the passwords.

Chris Lively
That should help... unless the code is obfuscated, which I would recommend to anyone writing cryptography code.
Peter
Password hashing should not need to be obfuscated, if you need that then the hashing is to weak.
David Mårtensson
Unfortunately, I do not have the source code. I only have some assemblies. Will Reflector work with just the assemblies?
@user462166: Reflector will work with any piece you have. If the user storage / retrieval is inside one of those assemblies then you can get to it.
Chris Lively
Yes Reflector works on just the assemblies
Redth