| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Шифрование в один класс |
| Автор: ДобренькийПапаша 22.6.2009, 10:24 | ||
| Я уже как только не извращался, ничего не получается... Если шифрование и дешифрование в одном классе то всё работает, разношу в разные - не работает (Мне надо в разные)... прошу помощи... Вот рабочий пример:
|
| Автор: azesmcar 22.6.2009, 10:33 |
| ДобренькийПапаша Можно посмотреть пример того, что не работает? Кстати, base64 это не совсем шифровка. Он не для защиты. Расшировать его может кто угодно. Это так, на всякий случай. |
| Автор: ДобренькийПапаша 22.6.2009, 11:02 | ||
| base64 используется во всех примерах шифрования которые я видел... Скажем если алгоритмом Хеллмана (для безопасной передачи данных) шифровать и передавать в метод только массив байтов, то не знаю как вы будете расшифровывать, не зная секретного ключа... Вот пример того, что не работает...
Под плохими данными он видимо понимает EncryptedPassword и crypt_str (компилятор при дебагге в разделе Locals их значения красным выделяет, их значения как и полагается совпадает)... (Счас попробую по другому конвертировать) Я думаю в данном случае проблема в ConvertToBase64 и ConvertFromBase64 |
| Автор: ДобренькийПапаша 22.6.2009, 11:22 |
| Шифрование происходит при создании пароля для юзера, который отправляется в базу... Дешифруется он из другой формы, и другого класса... ключи как public объявлять я не хочу (ибо это уже на безопасность не похоже будет) p.s. Да чёрт с ним с наследованием, его я уберу, сделаю свойства, открытые методы, через них ключи получу, вопрос сейчас о другом)))) Просто нужен рабочий пример))) |
| Автор: azesmcar 22.6.2009, 11:30 |
| Почему бы не написать класс с двумя открытыми статическими функциями Encrypt, Decrypt? |
| Автор: ДобренькийПапаша 22.6.2009, 11:32 |
| Я Decrypt в форме аутентификации делаю, а Encrypt в форме создания пользователя... |
| Автор: azesmcar 22.6.2009, 11:33 | ||||||
вот так например. Добавлено через 17 секунд
Ну и что? Добавлено через 5 минут и 27 секунд
вот, выделил в два разных класса, но я не считаю это хорошей идеей. И вообще - полно дубликатов в коде, надо выделить. |
| Автор: PashaPash 22.6.2009, 11:43 |
| ДобренькийПапаша, пароли юзеров нельзя шифровать обратимыми алгоритмами. |
| Автор: ДобренькийПапаша 22.6.2009, 11:47 | ||
вот так работает... Мдя... DES признан небезопасным... Честно говоря я уже замучился... |
| Автор: azesmcar 22.6.2009, 11:50 | ||
Ну да...
а кто защищен от брутфорса? а зачем вам пароли шифровать? может хэшировать надо? MD5 например. Ну, не то чтобы нельзя. Бывает так, что надо. Но если можно хэшировать (а это большинство случаев) - то лучше хэшировать. |
| Автор: ДобренькийПапаша 22.6.2009, 11:59 |
| Я нашёл инфу только по DES, RSA, Hellman(не работает в XP)... RSA мне тоже мозг выносит со своим вылетами "плохие данные"... http://forum.vingrad.ru/forum/topic-264011.html У меня (по поводу ссылки) я там уже много исправил вроде, но там смысл вобщем в том, что "плохие данные")))) Написал шифрование алгоритмом Хеллмана (лучший вариант), но как выяснилось, что работает сие только в Vista x64 и Windows Server 2008... |
| Автор: PashaPash 22.6.2009, 16:54 |
| ДобренькийПапаша, может тебе все-таки хэшировать надо? Хэшируешь пароль в форме регистрации. Потом хэшируешь в форме аутентификации. Сопали хэши - совпал пароль. |
| Автор: ДобренькийПапаша 22.6.2009, 16:56 | ||
Этот код не работает, и работать вряд ли будет |
| Автор: PashaPash 22.6.2009, 16:58 |
В этом явно виноват не код |
| Автор: azesmcar 22.6.2009, 17:08 |
Ну да, надо еще создать проект, добавить его в пространство имет, откомпилировать...но я бы не стал, может все таки расскажете о задаче? Зачем вам зашифрованный пароль? |
| Автор: ДобренькийПапаша 22.6.2009, 21:14 |
| Да всё тема закрыта, в Cryptography много что криво реализовано. Во многих алгоритмах такая проблема, что шифровка проходит нормально, а дешифровка нет. Сделал шифрование через MD5, всё нормально. А тот код, с DES, задолбаешься дебажить, оно того не стоит. Всем спасибо за помощь |