微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 不能在Silverlight中使用SHA-512?

pdf:通过URL进行Web客户端集成说:

从密码短语中确定SHA-512哈希值(结果512位).这可以使用SHA512Managed类在.NET中实现
问题是我的项目是在SilverLight中,而SHA512Managed不适用于Silverlight,也不是SilverLight目前可用的另一个实现.

所以基本上我被阻止在SHA512步骤:

var passphrase = "mypassphrase";

byte[] byteValue = (new SHA512Managed()).ComputeHash(System.Text.Encoding.UTF8.GetBytes(passphrase));
byte[] key = new byte[32];
byte[] iv = new byte[16];
Array.copy(byteValue,key,32);
Array.copy(byteValue,32,iv,16);

// Declare the stream used to encrypt to an in memory
// array of bytes.
MemoryStream msEncrypt = null;

// Create a RijndaelManaged object
// with the specified key and IV.
aesAlg = new AesManaged();
aesAlg.Key = key;
aesAlg.IV = iv;

你能否告诉我是否有其他方法来编码网址?

解决方法

如果您对操作系统许可证感到满意,Mono有一个您可以使用的实现.

https://github.com/mono/mono/blob/master/mcs/class/corlib/System.Security.Cryptography/SHA512Managed.cs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐