私はXamarin Forms XAMLポータブルプロジェクトを持っています。私は文字列からSHA256を取得する必要があります。 System.Security.CryptographyはPCLに存在しないので、私はハッシュを見つけるためにPCLCryptoを使用します。Xamarin PCLCrypto SHA256が異なるハッシュを与える
私は値を比較するためにAPIからsha256を取得します。これはSHA256ハッシュを取得するために使用するメソッドです。
private string getSha256(string data) {
byte[] byteData = Encoding.UTF8.GetBytes(data);
var hasher = WinRTCrypto.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Sha256);
byte[] hash = hasher.HashData(byteData);
string hashBase64 = Convert.ToBase64String(hash);
return hashBase64;
}
私が使用する文字列は「秘密」です。
http://www.xorbin.com/tools/sha256-hash-calculator 、それが得られます:私はそれをチェックするためにこれを使用
2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b
をしかし、私は二つの異なるハッシュコードを取得しています:
APIのハッシュ:
2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b PCLCryptoハッシュを私は生成: K7gNU3sdo + OL0wNhqoVWhr3g6s1xYv72ol/pe/Unols =
同じ文字列 'secret'ですが、異なるハッシュを生成しています。私はPCLCryptoハッシュが常に '='で終わっていることにも気付きました。
なぜ異なるのですか?