equivalent PHP sha1 in C#

751

I am trying to find out how can i have the same result in php and C#. I have this code in c#:

string date_server = "201311060930|[email protected]|test";
SHA1 sha_1 = new SHA1CryptoServiceProvider();
byte[] array = Encoding.ASCII.GetBytes(date_server);
array = sha_1.ComputeHash(array);

And the result is: 2201676219018622422190124192121212501517223823286232147

So i want obtain the same result in PHP:

Code:

$finalString = "201311060930|[email protected]|test";
$a = utf8_encode($finalString);
$b = unpack('C*', $a); 
$string = implode($b);
$sHash = sha1($string);

But i can't obtain the same result: 3f24039aeb68e306f93161a9e9df2c44e7e1ce15

Thanks

461

Answer

Solution:

just run your c# code, the result should be

array = {68,176,83,152,44,38,107,201,112,139,17,80,242,94,158,181,136,198,98,193}

I dont know where the2201676219018622422190124192121212501517223823286232147 comes from

sha1 will return the raw result if 2nd param is true, which you can convert intoarray (byte[] in C#) viaunpack

$finalString = "201311060930|[email protected]|test";
$sHash = sha1($finalString, true);
echo join(',',unpack('C*', $sHash));

and the output is same to C#

68,176,83,152,44,38,107,201,112,139,17,80,242,94,158,181,136,198,98,193

People are also looking for solutions to the problem: php - PhalconMvcModels - model relationship and caching

Source

Didn't find the answer?

Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.

Ask a Question

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.

Similar questions

Find the answer in similar questions on our website.