[PHP] hash_hmac: Encoding with two different results problem
hi, I hope this is the right group for this type of problem: I am using hash_hmac to provide me with a sha1 encoded hash string. The problem is as follows: $hash = hash_hmac('sha1', '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101', '1234'); Note: it is important the key to use during encoding id 1234 for this example. Result: eb38ffd597c6d1e01cd24a0e46dff426354510fe Using a hash calculator from slavasoft also yields this result, which indicate the encoding is fine. eb38ffd597c6d1e01cd24a0e46dff426354510fe However, Slavasoft's calculator has an option to provide the string as Text or Hex. Selecting hex yields this result: 9f9be99ea5bf5ba009af0a5c12021f420cb27652 and this is the string I need!!! So either hash_hmac function needs a way to let it know the string is of type hexor the string itself needs to be converted. I have tried some conversions on the string but to no avail. Anyone have any thoughts? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] hash_hmac: Encoding with two different results problem
On Thu, Jul 24, 2008 at 12:50 AM, Leon du Plessis [EMAIL PROTECTED] wrote: hi, I hope this is the right group for this type of problem: I am using hash_hmac to provide me with a sha1 encoded hash string. The problem is as follows: $hash = hash_hmac('sha1', '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101', '1234'); Note: it is important the key to use during encoding id 1234 for this example. Result: eb38ffd597c6d1e01cd24a0e46dff426354510fe Using a hash calculator from slavasoft also yields this result, which indicate the encoding is fine. eb38ffd597c6d1e01cd24a0e46dff426354510fe However, Slavasoft's calculator has an option to provide the string as Text or Hex. Selecting hex yields this result: 9f9be99ea5bf5ba009af0a5c12021f420cb27652 and this is the string I need!!! So either hash_hmac function needs a way to let it know the string is of type hexor the string itself needs to be converted. I have tried some conversions on the string but to no avail. Anyone have any thoughts? gotchu covered ;) found this on the web: http://www.pgregg.com/projects/php/code/hexstr.phps so then, ?php function hexstr($hexstr) { $hexstr = str_replace(' ', '', $hexstr); $retstr = pack('H*', $hexstr); return $retstr; } $hash = hash_hmac('sha1', hexstr( '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101'), '1234'); echo $hash; ? produc
Re: [PHP] hash_hmac: Encoding with two different results problem
On Thu, Jul 24, 2008 at 1:21 AM, Nathan Nobbe [EMAIL PROTECTED]wrote: On Thu, Jul 24, 2008 at 12:50 AM, Leon du Plessis [EMAIL PROTECTED] wrote: hi, I hope this is the right group for this type of problem: I am using hash_hmac to provide me with a sha1 encoded hash string. The problem is as follows: $hash = hash_hmac('sha1', '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101', '1234'); Note: it is important the key to use during encoding id 1234 for this example. Result: eb38ffd597c6d1e01cd24a0e46dff426354510fe Using a hash calculator from slavasoft also yields this result, which indicate the encoding is fine. eb38ffd597c6d1e01cd24a0e46dff426354510fe However, Slavasoft's calculator has an option to provide the string as Text or Hex. Selecting hex yields this result: 9f9be99ea5bf5ba009af0a5c12021f420cb27652 and this is the string I need!!! So either hash_hmac function needs a way to let it know the string is of type hexor the string itself needs to be converted. I have tried some conversions on the string but to no avail. Anyone have any thoughts? gotchu covered ;) found this on the web: http://www.pgregg.com/projects/php/code/hexstr.phps so then, ?php function hexstr($hexstr) { $hexstr = str_replace(' ', '', $hexstr); $retstr = pack('H*', $hexstr); return $retstr; } $hash = hash_hmac('sha1', hexstr( '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101'), '1234'); echo $hash; ? produc damnit, its late, so im going to take the liberty to post a follow-up message to finish that last one off; (the code from the previous post) produces 9f9be99ea5bf5ba009af0a5c12021f420cb27652 -nathan