http://www.perlmonks.org?node_id=994364

elmic11111 has asked for the wisdom of the Perl Monks concerning the following question:

I'm not very familiar with C# and recently was given a example code piece to access a system through REST. The LWP agent stuff I can handle. But the system requires me to make use a HMAC created from three values as a special key. I though I could duplicate it with Digest::HMAC but seem to be doing something wrong.

Here the original code:

string dateTimeString = DateTime.UtcNow.ToString("R", CultureInfo.Inva +riantCulture); string hashString = ComputeHash(strTenant + dateTimeString, key);

Here what I wrote in perl:

my $dateTimeString = strftime('%a, %e %b %Y %T',localtime); my $data = $strTenant.$dateTimeString.' UTC'; $digest = hmac_md5($data, $pkey);

Replies are listed 'Best First'.
Re: Converting C# to Perl
by Illuminatus (Curate) on Sep 18, 2012 at 21:57 UTC
    A quick look at DateTime.UtcNow Doesn't show (at least on Windows) a day of the week as part of the format. Are you sure that your 2 date strings are exactly the same? Perhaps printing out the string to be hash'ed in both cases would at least rule differences out.

    fnord