Mez
Mez

Reputation: 24933

Convert base64'd SHA1 hashes to Hex hashes

I have a list of passwords in mySQL that are generated using

$hash = '{SHA}' . base64_encode(sha1('some string here', true));

I need to convert these into what would be the equivalent of

$hash = sha1('some string here');

As these are password that our mail system uses, and we want to convert to another mail system (but requires that it be the 40 char hex hash :(

How would I convert from one format to the other (I'm pretty sure I've done this before, but the other way, though I can't find the code!)

As a note, I mentioned that the data is in mySQL - this is irrelevant - I know how to get the data, just not to convert it.

The hash is the same - I am only trying to convert the way the information is packed (I think this just needs to be converted from base64 to base16, but that's just a guess!)

Upvotes: 9

Views: 7506

Answers (2)

Your Common Sense
Your Common Sense

Reputation: 157864

Well base64_decode() can be found in the base64_encode manual entry.
And I am sure they have a way to convert raw format in the sha1 manual entry comments, if it's too hard for you to write it yourself

Upvotes: -3

ZZ Coder
ZZ Coder

Reputation: 75456

$binary = base64_decode(substr($hash, 5));
$hex = bin2hex($binary);

Upvotes: 18

Related Questions