Невозможно раскодировать строки Login/Password
От: AlexGin Беларусь  
Дата: 30.01.17 07:57
Оценка: :)))
Добрый день, уважаемые коллеги!

В процессе разработок у меня возникла необходимость хранения закодированных строк Login/Password.
Я это сделал в специальном текстовом файле, используя материал — описанный в единственном ответе здесь:
http://stackoverflow.com/questions/32639113/how-to-store-information-like-passwords-encrypted-but-not-in-hash

Далее возникла проблема: на моём компьютере вызов раскодировки строки:
 public string DecryptPassword(string sEncryptedPassword)
        {
            var encrypted_data = Convert.FromBase64String(sEncryptedPassword);
            var data = ProtectedData.Unprotect(encrypted_data, null, DataProtectionScope.CurrentUser); // !!! ПРОБЛЕМА ЗДЕСЬ !!!
            return Encoding.UTF8.GetString(data);
        }

проходит нормально.

Но на компьютерах моих товарищей — вызов:
var data = ProtectedData.Unprotect(encrypted_data, null, DataProtectionScope.CurrentUser); приводит к исключению:

Key not valid for use in specified state.

При этом, данные в строке sEncryptedPassword — одинаковые.
Почему у меня они идут как валидные, а на других компах — как НЕвалидные?
Куда копать?
Что делать?

Заранее благодарен, за любые советы!
Отредактировано 30.01.2017 18:35 AndrewVK . Предыдущая версия . Еще …
Отредактировано 30.01.2017 9:50 AlexGin . Предыдущая версия .
ProtectedData
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.