2012-06-25 2 views
7

나는 MSDN에서이 코드를 붙여 넣은 복사 :SHA1 (및 전체 암호화 네임 스페이스) 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에서 Dreamspark 라이센스가있는 Visual Studio Professional 2012 RC를 사용하고 있습니다.

+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

어떻게 가능합니까? 메트로 앱을 원한다면 SHA-1을 더 이상 사용할 수 없다는 뜻입니까? – sharptooth

5

답변으로, Anders Gustafsson이 지적한대로 Metro에서는 System.Security.Cryptography이 지원되지 않습니다. 대신 Windows.Security.Cryptography이 있습니다.

+0

예, 처음 보았지만 처음에는 충분히 보지 않았습니다. 그것을 지적 주셔서 감사합니다. 완전성을 위해 MSDN 설명서의 일부 링크로 답변을 업데이트했습니다. –