ranio Ответов: 1

Как передать длинную строку в качестве пароля в учетных данных windows в C#?


Я получаю исключение при передаче длинной строки для сохранения в папку хранилища windows с помощью API c# и Credential Manager. В противном случае он успешно сохраняется в хранилище.

Исключение грядет такое
Specified argument was out of the range of valid values.

Parameter name: The password has exceeded 512 bytes.
&усилитель;

строка пароля передается следующим образом "TERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRTGVBFXDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECFGBBCVBDRFGDXFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXRETWEREWRW3ERWERWRWRWRRRRRRRRRRRRRRRRRRRRRFDSFFFSDFSFSFSFDSFDDFSFSFSFGRWERWREWRWRWRDXVGFDGFDGFDGFDGDGDFGDGDGDREWRWREWRERRWREWREWRDXVCXBCVVVVVVVVVVVVVVREWRWERRRRRRRRRRREWRWRWREWR"

Что я уже пробовал:

public void SavePassword(string password)
       {
           try
           {
               using (var cred = new Credential())
               {
                   cred.Password = password;
                   cred.Target = PasswordName;
                   cred.Type = CredentialType.Generic;
                   cred.PersistanceType = PersistanceType.LocalComputer;
                   cred.Save();
               }
           }
           catch(Exception ex)
           {

           }

       }

GKP1992

Только я или строка пароля продолжается и продолжается в одной строке, переполняющей страницу CP?Кстати, хром.

Richard Deeming

Дело не только в тебе. Браузер не может найти очевидное место, чтобы разорвать линию, поэтому без word-wrap: break-word; на содержании <div>- он не будет сворачиваться на новую линию.

GKP1992

Зачем вам вообще нужен такой длинный пароль? Может ли пользователь когда-нибудь помнить об этом?

1 Ответов

Рейтинг:
1

User 7429338

Parameter name: The password has exceeded 512 bytes.


Ваш пароль имеет длину 600 байт, а максимально допустимый-512.


ranio

Итак, каково же решение для сохранения содержимого открытого ключа длиной более 512 байт? Могу ли я разделить то же самое, скажем, на 500 байт каждый, а затем сохранить в хранилище и получить конкатенацию разделенных значений хранилища в целом.

Возможен ли этот вариант разделения или есть какой - то лучший вариант сделать то же самое ?