Zamierzam użyć UNIQUEIDENTIFIERjako klucza dostępu, którego użytkownicy mogą używać do uzyskiwania dostępu do niektórych danych. W tym sensie klucz będzie działał jako hasło.
Muszę wygenerować wiele takich identyfikatorów jako część INSERT...SELECTinstrukcji. Ze względów architektonicznych chcę w tym przypadku wygenerować identyfikatory po stronie serwera.
Jak mogę wygenerować bezpiecznie losowy UNIQUEIDENTIFIER? Pamiętaj, że NEWIDnie byłoby to wystarczająco losowe, ponieważ w ogóle nie obiecuje żadnych właściwości bezpieczeństwa. Szukam SQL Server odpowiednika System.Security.Cryptography.RandomNumberGenerator, ponieważ potrzebuję niemożliwych do odczytania identyfikatorów. Wszystko opiera się na CHECKSUM, RANDlub GETUTCDATEnie byłoby również zakwalifikować.
4. Ale fakt, że nie mam mocnych dowodów na to, że można je zgadywać, nie oznacza, że nie są. Nie mogę oprzeć tej decyzji bezpieczeństwa na tej obserwacji.