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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хешь функция 
:(
    Опции темы
Хоббит
Дата 25.6.2006, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: нет
Всего: 1



нужно по строке ... в ней что угодно получить строку валидную в качестве имени таблицы в базе данных... то есть из англ букв цифр и.т.д.??? 
PM MAIL   Вверх
mr.DUDA
Дата 25.6.2006, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Гхммм-м-а-аа...

Берём переменную типа string...

Берём значение, получаемое по string.GetHashCode()...

используем... smile 


--------------------
user posted image
PM MAIL WWW   Вверх
Void
Дата 25.6.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Например, MD5 хэш загнать в Hex
Код

using System;
using System.Text;
using System.Security.Cryptography;

string s = ...;
byte[] hash = MD5.Create().ComputeHash(Encoding.Default.GetBytes(s));
StringBuilder buf = new StringBuilder();
foreach (byte b in hash)
    buf.Append(b.ToString("X"));
string name = buf.ToString();


Это если паранойя smile 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Хоббит
Дата 25.6.2006, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: нет
Всего: 1



просто пользователь создает файл.. может его назвать как угодно, а мне надо к нему БД создать... вот.. а имя бд как раз не как угодно 
PM MAIL   Вверх
mr.DUDA
Дата 25.6.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Хоббит @  25.6.2006,  21:27 Найти цитируемый пост)
просто пользователь создает файл.. может его назвать как угодно, а мне надо к нему БД создать... вот.. а имя бд как раз не как угодно 

Вот и используй хеш-код от имени файла smile

Void нормальный пример привёл. Единственное, что после того как получили рез-тат от ComputeHash(), нужно заменить символ "-" на любой алфавитный или удалить его - получится нормальное имя для БД. 


--------------------
user posted image
PM MAIL WWW   Вверх
Void
Дата 25.6.2006, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



mr.DUDA, а где там символ «-» может встретиться? smile Я специально не воспользовался Convert.ToBase64String, чтобы избежать проблем с «+», «=» и прочими недопустимым символами. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
mr.DUDA
Дата 25.6.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Void, ups, возможно я тут сморозил smile, а что действительно только алфанумерик-символы получаются ? smile 


--------------------
user posted image
PM MAIL WWW   Вверх
Хоббит
Дата 26.6.2006, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: нет
Всего: 1



если барть просто HasCode().ToString() то бывате и минус ... который я устранил .... а во втором варианте минуса вроде и нет 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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