On Thu, Jul 24, 2008 at 12:50 AM, Leon du Plessis <leon@xxxxxxxxxx> 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', > > '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F7777772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101', > '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 hex....or 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( '030B6A05696E657400C54601C60001550187360603773500018707060373796E63000187340603687474703A2F2F7777772E73796E632E636F6D2F73796E630001C65901873A06032E2F636F6E7461637473000187070603436F6E74616374732044420001872E0603746578742F782D7663617264000101C6570187310603757365726E616D6500018732060370617373776F72640001010101'), '1234'); echo $hash; ?> produc