Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不使用System.Security.Cryptography计算SHA256哈希_C#_Hash_Xamarin_Cryptography_Sha256 - Fatal编程技术网

C# 不使用System.Security.Cryptography计算SHA256哈希

C# 不使用System.Security.Cryptography计算SHA256哈希,c#,hash,xamarin,cryptography,sha256,C#,Hash,Xamarin,Cryptography,Sha256,我要把我的一个图书馆搬到Xamarin PLC 官方文档声明支持System.Security.Cryptography命名空间,但实际代码中不支持该命名空间 我正在寻找一种不使用此名称空间(也不使用Windows名称空间中的HashAlgorithmProvider)计算SHA256哈希的方法。此方法破坏了Android和WP8.0的应用程序)使用Bouncy Castle PCL lib()测试类似的内容 Xamarin文档正确地说明了命名空间是完全受支持的 您无法使用它,仅仅是因为您正在编

我要把我的一个图书馆搬到Xamarin PLC

官方文档声明支持System.Security.Cryptography命名空间,但实际代码中不支持该命名空间


我正在寻找一种不使用此名称空间(也不使用Windows名称空间中的HashAlgorithmProvider)计算SHA256哈希的方法。此方法破坏了Android和WP8.0的应用程序)

使用Bouncy Castle PCL lib()测试类似的内容


Xamarin文档正确地说明了命名空间是完全受支持的

您无法使用它,仅仅是因为您正在编写一个PCL库,而Microsoft(好吧,您会感到惊讶)认为它不应该这样做

您可以在另一个答案中使用变通方法,因为Bouncy Castle完全被管理并且没有得到任何硬件提升,这会导致性能显著下降,或者完全放弃PCL方法


Microsoft即将推出.NET Core和.NET Platform Standard/.NET Standard库,这使您的库可以针对.NET平台标准,然后大部分PCL问题将消失。留意一下,你会喜欢的。

哦!我没有看到他们有“便携式”图书馆!工作得很有魅力!非常感谢。就我的情况而言,这种表现可以忽略不计。该哈希在登录期间仅使用一次。
var encData = Encoding.UTF8.GetBytes("TESTHASH");
Org.BouncyCastle.Crypto.Digests.Sha256Digest myHash = new Org.BouncyCastle.Crypto.Digests.Sha256Digest();
myHash.BlockUpdate (encData, 0, encData.Length);
byte[] compArr = new byte[myHash.GetDigestSize ()];
myHash.DoFinal (compArr, 0);