C# 无法在Silverlight中使用SHA-512?

C# 无法在Silverlight中使用SHA-512?,c#,silverlight,hash,C#,Silverlight,Hash,pdf:Web客户端通过URL集成说明: 从密码短语(结果512位)确定SHA-512哈希。这可以在.NET中使用SHA512Managed类实现 问题是我的项目在SilverLight中,而SHA512Managed目前既不适用于SilverLight,也不适用于SilverLight的另一个实现 因此,基本上我在SHA512步骤中受阻: var passphrase = "mypassphrase"; byte[] byteValue = (new SHA512Managed()).Com

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

从密码短语(结果512位)确定SHA-512哈希。这可以在.NET中使用SHA512Managed类实现 问题是我的项目在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, 0, 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;

您能告诉我是否有其他方式编码url吗?

如果您对操作系统许可证满意,Mono有一个您可能会使用的实现


如果密码短语是常量,则可以预先计算哈希值。除此之外,您还需要找到一些托管sha512实现。可能的重复密码短语是一个常量,尽管我们认为大约每月更改一次。