Я намерен использовать UNIQUEIDENTIFIER
в качестве ключа доступа, который пользователи могут использовать для доступа к определенным данным. Ключ будет действовать как пароль в этом смысле.
Мне нужно сгенерировать несколько таких идентификаторов как часть INSERT...SELECT
заявления. По архитектурным соображениям я хочу генерировать идентификаторы на стороне сервера в этом случае.
Как я могу создать надежно случайный UNIQUEIDENTIFIER
? Обратите внимание, что NEWID
это не было бы достаточно случайным, поскольку это не обещает никаких свойств безопасности вообще. Я ищу SQL Server эквивалент System.Security.Cryptography.RandomNumberGenerator, потому что мне нужны неосуществимые идентификаторы. Все, что основано CHECKSUM
, RAND
или не GETUTCDATE
будет соответствовать требованиям.
4
. Но тот факт, что у меня нет убедительных доказательств того, что они могут быть угаданными, не означает, что это не так. Я не могу основать это решение по безопасности на этом наблюдении.