Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Шифрование строковых данных

9.0K
02 апреля 2007 года
EuGenius
48 / / 12.01.2007
Как шифровать строкив в C#? Желательно встроенными средствами.
Вроде есть такие методы - RSA, MD5, AES, BlowFish, RC2, RC5, RC6
Дайте примеры. у кого есть.
Благодарю.
9.0K
02 апреля 2007 года
EuGenius
48 / / 12.01.2007
Кому интересно - вроде как нормально подходит
http://www.codeproject.com/csharp/dotnetcryptog.asp
63
03 апреля 2007 года
Zorkus
2.6K / / 04.11.2006
System.Security.Cryptography;
Там есть очень многое, что надо для практ. криптографии:).
240
04 апреля 2007 года
aks
2.5K / / 14.07.2006
Цитата: EuGenius

Вроде есть такие методы - RSA, MD5, AES, BlowFish, RC2, RC5, RC6


Фигасе ты собрал в одну кучу ))
Это конечно все к криптографии относится но для совершенно разных задач )

273
05 апреля 2007 года
3A3-968M
1.2K / / 22.12.2005
Вот пример кода:
 
Код:
[SIZE=2][COLOR=#008080][FONT=Courier New]HashAlgorithm[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2] algorithm = [/SIZE][SIZE=2][COLOR=#008080]HashAlgorithm[/COLOR][/SIZE][SIZE=2].Create([/SIZE][SIZE=2][COLOR=#800000]"MD5"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]);[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] message = [/SIZE][SIZE=2][COLOR=#008080]Encoding[/COLOR][/SIZE][SIZE=2].Unicode.GetBytes([/SIZE][SIZE=2][COLOR=#800000]"Hello, world!"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]);[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] hash = algorithm.ComputeHash(message);
[/SIZE][/FONT]

Для хэширования коротких сообщений не рекомендуется использовать MD5, SHA1, SHA2. Но это хэши, с их помощью не шифруют сообщение.
Теперь как именно зашифровать:
 
Код:
[SIZE=2][COLOR=#0000ff][FONT=Courier New]byte[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][] message = [/SIZE][SIZE=2][COLOR=#008080]Encoding[/COLOR][/SIZE][SIZE=2].Unicode.GetBytes([/SIZE][SIZE=2][COLOR=#800000]"Hello, world!"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]);[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#008080]RSACryptoServiceProvider[/COLOR][/SIZE][SIZE=2] rsa = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]RSACryptoServiceProvider[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]();[/FONT]
[FONT=Courier New]rsa.Clear();[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#008080]RSAParameters[/COLOR][/SIZE][SIZE=2] rsaParams = rsa.ExportParameters([/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]);[/FONT]
[FONT=Courier New]rsa.ImportParameters(rsaParams);[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] result = rsa.Encrypt(message, [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][SIZE=2]);
[/SIZE][/FONT]

Хотя, например, RSA лучше реализовать вручную, так понятнее и проще и без всяких наворотов.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог