Статус:
Offline
Реєстрація: 16.04.2009
Повідом.: 76
Реєстрація: 16.04.2009
Повідом.: 76
Алгоритм хеширования
Надо реализовать алгоритм хеширования, работает так:
all_text = "QWERTY"
required_text = "QW"
сначала хешируем QW, т.к. required_text.Length = 2, потом WE, потом ER...
из этого должен получится набор чисел.
пробовал так:
Надо реализовать алгоритм хеширования, работает так:
all_text = "QWERTY"
required_text = "QW"
сначала хешируем QW, т.к. required_text.Length = 2, потом WE, потом ER...
из этого должен получится набор чисел.
Код:
public string Hash_Text(string all_text, string required_text)
{
StringBuilder temp0 = new StringBuilder();
StringBuilder u = new StringBuilder();
char[] char_all_text = all_text.ToCharArray();
char[] char_required_text = required_text.ToCharArray();
for (int i = 0; i < Math.Round(((double)all_text.Length / (double)required_text.Length)); i++)
{
while (u.Length<=char_required_text.Length)
{
u.Append(Convert.ToInt32(char_all_text[i]));
if (i<char_all_text.Length)
{
i++;
}
} //System.Math.Abs
temp0.Append((Convert.ToInt32(u.ToString()))%100);
u.Remove(0, u.Length);
}
return temp0.ToString();
}
пробовал так:
Код:
public string Hash_Text(string all_text, string required_text)
{
StringBuilder temp0 = new StringBuilder();
StringBuilder u = new StringBuilder();
char[] char_all_text = all_text.ToCharArray();
char[] char_required_text = required_text.ToCharArray();
for (int i = 0; i < all_text.Length; i++)
{
for (int j = 0; j < char_required_text.Length; j++)
{
u.Append(Convert.ToInt32(char_all_text[j]));
}
temp0.Append(((Convert.ToInt32(u.ToString()))%29).ToString());
u.Remove(0, u.Length);
char_all_text = char_all_text.ToString().Remove(0, 1).ToCharArray();
}
return temp0.ToString();