0 / 0 / 0
Регистрация: 29.03.2018
Сообщений: 4
|
||||||
1 | ||||||
SecureString вместо String (пример в сообщении)29.03.2018, 13:31. Показов 1413. Ответов 13
Метки нет (Все метки)
Добрый день. Есть метод который шифрует файлы (AES256) - найден на просторах всея интернета и немного доработан для моих нужн (курсача)
Помогите пожалуйста оптимизировать код так, что бы метод принимал password не просто типа string, а тип securestring Смотрел примеры использования securestring, но не смог понять как это реализовать на этом примере
0
|
29.03.2018, 13:31 | |
Ответы с готовыми решениями:
13
Как присвоить типу System.Security.SecureString тип string? Пустой экран, вместо сообщении об ошибках PHP Дата: В двух строках вместо дат идёт строка null, как вместо Date вернуть "-" в виде String? Найти в сообщении все ip-адреса, записать результат, используя класс string и класс StringBuilder |
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
29.03.2018, 14:03 | 2 |
с учётом того в Вашем коде всё упирается в PasswordDeriveBytes у Вас 2 решения:
1) в метод передаёте SecureString, а для PasswordDeriveBytes переводите либо в обычную строку, либо в массив байт (поведение метода при этом неизвестно толком) 2) пишите свой PasswordDeriveBytes который сразу будет принимать SecureString
0
|
0 / 0 / 0
Регистрация: 29.03.2018
Сообщений: 4
|
|
29.03.2018, 14:12 [ТС] | 3 |
SeIZVeIZ, первый вариант так себе, т.к. в оперативке будет храниться само значение пароля, может быть есть какой либо наглядный пример для этого метода? Или можно как то обойти использование PasswordDeriveBytes?
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
29.03.2018, 14:23 | 4 |
можете посмотреть реализацию этого класса, и достать оттуда то что Вам нужно, в Вашем случае это метод GetBytes вот и смотрите его реализацию, что для него нужно и пробуйте восстановить уже с нужными Вам параметрами.
Добавлено через 1 минуту но там в любом случае строка приводится к массиву байт и этот массив уже участвует в работе, возможно Вам всё же нужно перевести SecureString в массив байт
0
|
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 12
|
|
29.03.2018, 14:36 | 5 |
SeIZVeIZ, и правда, не хотелось бы лезть в эту шляпу...
Допустим я преобразую securestring в байты, а как именно этот массив вставить в пример метода?
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
29.03.2018, 14:39 | 6 |
FrankMen, вместо password в конструкторе класса в виде строки, там есть конструктор который принимает массив байт
1
|
17791 / 12942 / 3381
Регистрация: 17.09.2011
Сообщений: 21,215
|
|
29.03.2018, 19:03 | 7 |
Ну и конечно же класс
PasswordDeriveBytes помечен как Obsolete (читайте предупреждения компилятора!).Вместо него стоит использовать Rfc2898DeriveBytes .
1
|
6508 / 4085 / 1605
Регистрация: 09.05.2015
Сообщений: 9,551
|
|
01.04.2018, 03:17 | 8 |
И SecureString тоже использовать не рекомендуется, т.к. тип не портабельный, только под виндой поддерживается.
0
|
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 12
|
|
20.11.2018, 01:13 | 9 |
kolorotur, вернулся к своему курсовому, если заменить устаревший класс на Rfc2898DeriveBytes, то теперь ругается на pdb.HashName = "SHA512";
Подскажите как с этим быть?
0
|
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 12
|
|
20.11.2018, 14:59 | 10 |
Кто нибудь подскажет, как это метод "HashName" задать для Rfc2898DeriveBytes?
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
20.11.2018, 15:11 | 11 |
FrankMen, вы принципиально документацию не читаете?
0
|
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 12
|
|
20.11.2018, 15:17 | 12 |
SeIZVeIZ, блин, не заметил я этого метода, hashAlgorithm, оно ведь?
Если да, то насколько ещё SHA512 актуален, по собственному опыту может более надёжный знаете?
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
20.11.2018, 15:22 | 13 |
оно оно, а у Вас есть другой выбор в данном методе? новых вроде не придумывали SHA 3 там вроде как пытались сделать, но не слышал вышло ли что-то с этого
1
|
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 12
|
||||||
22.11.2018, 01:16 | 14 | |||||
SeIZVeIZ, спасибо
Добавлено через 6 часов 31 минуту SeIZVeIZ, вот это прикол, нет перегрузки с 4 параметрами для этого метода, ругается, что лишний параметр указал, 4-ый, а именно хеш алгоритм, как быть? Добавлено через 26 минут SeIZVeIZ, нашел решение) обновил до 4.7.2 фрейм и пакеджи скачал последние для VS, видимо в старых сборках этого не было Добавлено через 3 часа 27 минут Помогите пожалуйста с этим разобраться. После замены на класс Rfc2898DeriveBytes выдаёт ошибку: "Заполнение неверно и не может быть удалено". Код привел ниже.
Ауу!?) Кто нибудь отреагирует? Добавлено через 11 часов 58 минут kolorotur, выручайте, вы предложили мне эту идею, теперь голову ломаю, как это реализовать для конкретного примера
0
|
22.11.2018, 01:16 | |
22.11.2018, 01:16 | |
Помогаю со студенческими работами здесь
14
Как работать с SecureString? Undefined вместо string string c . вместо , to double Пример class+string+ofstream/ifstream Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |