Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хэши и их хранение 
:(
    Опции темы
Bogdan1024
  Дата 20.9.2007, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 5
Всего: 13



Идея такая: пользователь может вводить разные фразы, и по его запросу выводится результат. Результаты запросов кэшируются, а сами фразы хэшируются чтобы можно было быстрее отыскать в следующий раз уже когда-то запрошенную фразу. 
Посоветуйте пожалуйста хэш-алгоритм из .NET2.0. И как потом этот хэш хранить в БД? Все алгоритмы выдают массив байт, то его конвертить в стринг и сохранять в БД в поле nvarchar? Сравнивать nvarcharы вместо массива байт не очень быстро имхо.


--------------------
user posted image
PM MAIL   Вверх
Bogdan1024
Дата 20.9.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 5
Всего: 13



Пока что получилось вот что:
Код

                System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] bytedquery = System.Text.Encoding.Unicode.GetBytes(this.Query);
                byte[] bytedhash = md5.ComputeHash(bytedquery);
                this.Md5Id = System.BitConverter.ToString(bytedhash).Replace("-", string.Empty);//Чтобы влазил в 32 символа.

Это хранится в базе в char(32). 


--------------------
user posted image
PM MAIL   Вверх
Experimenter
Дата 20.9.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 8
Всего: 17



Цитата

Все алгоритмы выдают массив байт, то его конвертить в стринг и сохранять в БД в поле nvarchar?

Нормальное явление, издержки производства, частенько в base64 еще конвертят


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0664 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.