IV важен, когда тот же ключ мог бы когда-либо использоваться для шифрования больше чем одного сообщения.
причина состоит в том, потому что под большинством режимов шифрования два сообщения, зашифрованные с тем же ключом, могут быть проанализированы вместе. В простом поточном шифре, например, XORing, который два шифрованных текста зашифровали с теми же ключевыми результатами в XOR двух сообщений, из которых простой текст может быть легко извлечен с помощью традиционных методов криптоанализа.
А слабый IV является частью того, что сделало WEP вскрываемым.
IV в основном смешивает некоторые уникальные, несекретные данные в ключ для предотвращения того же ключа, когда-либо используясь дважды.
Я не думаю, что есть лучший способ получить эту информацию - вам нужно каким-то образом добраться до WindowsPrincipal и довольно чистых абстрактов API .NET, стоящих за объектом User. Я бы просто оставил это красивым, завернутым в метод и назову его днем.
Хорошо, хорошо, есть одна вещь, которую вы должны сделать (если только ваши веб-пользователи всегда не будут использовать WindowsIdentity ), который должен был бы проверять наличие нулевого идентификатора и обрабатывать его в соответствии с имеющимися у вас правилами.