2012-06-25 117 views
7

我從MSDN複製粘貼此代碼:SHA1(和全加密命名空間)在Visual Studio 2012缺少

using System.Security.Cryptography; 

byte[] buffer = enc.GetBytes(text); 
SHA1CryptoServiceProvider cryptoTransformSHA1 = 
      new SHA1CryptoServiceProvider(); 
string hash = BitConverter.ToString(
      cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", ""); 

return hash; 

但VS說,有沒有這樣的Cryptography命名空間,因而不存在SHA1CryptoServiceProvider類。

我在做什麼錯?

我在Windows 8 Release Preview上使用Visual Studio Professional 2012 RC和Dreamspark許可證。

+0

你可以給該代碼的鏈接? – aliboy38

+0

它在那裏。見MSDn http://msdn.microsoft.com/en-us/library/system.security.cryptography(v=vs.110).aspx –

+0

可能沒有解釋我自己,我的意思是VS說他找不到那個類也不命名空間 –

回答

5

我認爲你要創建一個地鐵應用程序? Metro風格的應用程序不支持System.Security.Cryptography命名空間。可以找到Metro應用程序支持的.NET API命名空間的完整列表here

UPDATE 6月29日

正如吉列爾莫指出雖然,有Windows.Security.Cryptograhy.Core命名空間,一個包含類HashAlgorithmProvider其中例如可以應用SHA1算法。

+2

這怎麼可能?這是否意味着如果我想要一個Metro應用程序,我不能再使用SHA-1了? – sharptooth

5

答案就像Anders Gustafsson指出的那樣,在地鐵System.Security.Cryptography不支持。但你有Windows.Security.Cryptography

+0

是的,我看到了,但第一次看起來不夠緊密。感謝您指出。我更新了我的答案,其中包含一些指向MSDN文檔的鏈接以確保完整性 –

相關問題