현재 간단한 데이터 서명 작업을하고 있습니다. 서명을 처음 사용하는 것이므로 어쩌면 내가 잘못 생각할 수도 있습니다. 그러나 나는 512 비트 RSA와 SHA1 해시를 사용하여 448 바이트를 사인하는 데 4.6 초가 걸리는 것은 정상적인 것이라고 생각하지 않습니다.RSACryptoServiceProvider를 사용하여 서명하는 속도
코드 :
byte[] Data = enc.GetByte(MsgString); //Get Message as byte[]
//Data is 448 bytes long
RSACryptoServiceProvider Crypter = new RSACryptoServiceProvider(512);
Crypter.ImportCspBlob(Convert.FromBase64String(KeyString));
byte[] SignedData = Crypter.SignData(Data, "SHA1"); //Line takes 4.6 seconds
왜 그 느린? 나는 이것을 발견했다 : http://support.microsoft.com/kb/948080,하지만 그게 NET 2.0의 문제. 나는 4.0을 사용하고있다.
오랜 시간이 걸리거나 오류가있는 것이 정상입니까?
도움 주셔서 감사합니다.
어디에서'KeyString'을 얻을 수 있습니까? –
내 가상 컴퓨터에서 Mac OS X 호스트에서 Windows XP 게스트를 실행하는 경우 서명에 눈에 띄는 시간이 필요하지 않습니다. 'Data'는 크기가 메가 바이트이거나'KeyString'은 방대한 RSA 키 또는 둘다를 나타냅니다. –
KeyString은 전에 RSACryptoProvider에서 얻은 문자열입니다. Base64 코딩의 512 비트 키. 그리고 데이터는 확실히 바이트입니다. 그 짧은 문자열. – Marks