Cri*_*Dan 3 .net portable-class-library windows-8 windows-phone-8
我需要计算可移植库中字节数组的哈希值.
我正在尝试为我的针对.NET 4.5 + win 8 + WP 8.0的可移植库找到一个等效的System.Security.Cryptography.SHA256Managed.
我尝试了PclContrib,但似乎我无法为面向这些平台的库安装它.
是否有任何库提供哈希算法实现,可以在可移植库的上下文中引用?
谢谢
您可以使用这个Bouncy Castle的港口.AArnott准备了一个尚未被接受但可能对您有帮助的PCL版本.您还可以将一些单声道源代码直接集成到您的.
充气城堡样本:
var data = System.Text.Encoding.UTF8.GetBytes("test");
Org.BouncyCastle.Crypto.Digests.Sha256Digest hash = new Org.BouncyCastle.Crypto.Digests.Sha256Digest();
hash.BlockUpdate(data, 0,data.Length);
byte[] result = new byte[hash.GetDigestSize()];
hash.DoFinal(result, 0);
Run Code Online (Sandbox Code Playgroud)
更新: 我没有维护我的原始端口,我强烈建议在GitHub上使用一个可用的端口,例如:https://github.com/onovotny/BouncyCastle-PCL.它也支持更多平台.
更新2: 截至今天,我宁愿推荐使用PCLCrypto.这个库由AArnott维护(他最初帮助我使用Bouncy castle PCL支持).这个库的主要优点是,感谢nuget诱饵和切换,它将使用本机加密API而不是托管的慢速和潜在不安全的实现.此处提供了支持的算法的完整列表.
更新3: 基于Net Standard的类库现在应该是大多数用例的答案.在Xamarin开发方面,PCLCrypto似乎仍然是最好的.