hmac_sha256 in php and c# differ

后端 未结 1 617
南旧
南旧 2020-12-30 11:16

this is my PHP code:

hash_hmac( \"sha256\", utf8_encode( $filename ), utf8_encode( $password ) );

and this is my C# code:

v         


        
相关标签:
1条回答
  • 2020-12-30 11:48

    My C# is not the best but i got it to work, what you need to do is to convert your byte array results to hex.

    PHP

    $hash = hash_hmac( "sha256", utf8_encode("Filename"), utf8_encode("Password"));
    echo $hash;
    // 5fe2ae06ff9828b33fe304545289a3f590bfd948ca9ab731c980379992ef41f1
    

    C#

    string password = "Password";
    string filename = "Filename";
    
    var hmacsha256 = new HMACSHA256(Encoding.UTF8.GetBytes(password));
    hmacsha256.ComputeHash(Encoding.UTF8.GetBytes(filename));
    
    foreach(byte test in hmacsha256.Hash)
    {
        Console.Write(test.ToString("X2"));
    }
    // 5FE2AE06FF9828B33FE304545289A3F590BFD948CA9AB731C980379992EF41F1
    
    0 讨论(0)
提交回复
热议问题