С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
#1

Алгоритм хэширования MD5 - C++

19.07.2013, 22:23. Просмотров 3475. Ответов 30
Метки нет (Все метки)

Мне дали задачу.
Программа должна делать такое:
Юзер вводит цифры или буквы
Программа делает из них MD5 хэш (т.е. хэширует эти символы)

Так вот, я в интернете нашел примерный алгоритм MD5 хэширования, но толком не понял как это всё реализовывать))
Накатал такое:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdlib>
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
 cout << "Enter text (no MD5, normal text): " << endl;
 cin >> x;
 cout << "This: " << x << endl;
 int hash(long int x){
 if (x%1000==0) return 1000;
 return (x % 1000);
}
 
 function hash(x:longint):longint;
 begin
 if (x mod 1000=0) {
 then hash:=1000 else
 hash:=x mod 1000;
 end;
}
}
Можете исправить мою ошибку?)
Ошибка:

Unterminated quoted string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 22:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм хэширования MD5 (C++):

Нужен пример хэширования - C++
Здравствуйте! Ни как не могу понять хэширование,если не трудно, то напишите какие нибудь простейшие примеры реализации. Заранее благодарю!

Показать элементарный пример хэширования слова - C++
Не могли бы вы показать элементарный пример хэширования слова?

Объясните алгоритм хэширования: ГОСТ Р 34.11-94 - C++
Доброго времени суток) Объясните, пожалуйста, алгоритм хэширования госта р 34.11-94) И очень приятным дополнением была бы готовая...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар) - C++
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная головоломка). Определение. Перестано́вочные...

Md5 - C++
Ребят, это скорее всего оффтоп, но я просто не знаю куда написать, есть зашифрованный пароль, надо его расшифровать, зашифрован он в md5,...

30
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 22:28 #2
Сдается мне, это не С++ и даже не Си, это какой-то доселе неизвестный ЯП.

Не по теме:

Цитата Сообщение от Даниил1991 Посмотреть сообщение
C++
1
2
3
4
int hash(long int x){
    if (x%1000==0) return 1000;
    return (x % 1000);
}
так вот он ты какой, алгоритм MD5

1
0x10
19.07.2013, 22:28
  #3

Не по теме:

Это на каком вообще языке? =_=

0
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:29  [ТС] #4
Да мне казалось что там где я это нашел было написано что это С++
Подскажите пожалуйста норм. алгоритм шифрования на С++
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 22:30 #5
Цитата Сообщение от Даниил1991 Посмотреть сообщение
шифрования
так шифрования или хеширования?
0
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:31  [ТС] #6
Цитата Сообщение от Kastaneda Посмотреть сообщение
так шифрования или хеширования?
Ой, извиняюсь, хэширования)
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 22:32 #7
А чем MD5 не устроил?
0
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:34  [ТС] #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
А чем MD5 не устроил?
Да нет, мне просто нужно написать прогу которая будет именно сама хэшировать символы и цифры

Добавлено через 35 секунд
Хэшировать в MD5 хэш (я просто в этих всех хэшах не разбираюсь)
0
0x10
2486 / 1661 / 249
Регистрация: 24.11.2012
Сообщений: 4,136
19.07.2013, 22:34 #9
Даниил1991, в википедии есть ссылка на реализацию.
0
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:36  [ТС] #10
Цитата Сообщение от 0x10 Посмотреть сообщение
Даниил1991, в википедии есть ссылка на реализацию.
Типа в википедии статья "Алгоритм MD5 хэширования"?
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 22:36 #11
Даниил1991, ты точно уверен, что тебе нужен именно MD5? Потому что твою потребность
Цитата Сообщение от Даниил1991 Посмотреть сообщение
хэшировать символы и цифры
можно удовлетворить гораздо меньшими затратами.
0
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:37  [ТС] #12
Цитата Сообщение от Kastaneda Посмотреть сообщение
Даниил1991, ты точно уверен, что тебе нужен именно MD5? Потому что твою потребность

можно удовлетворить гораздо меньшими затратами.
А можно подробнее?
0
0x10
2486 / 1661 / 249
Регистрация: 24.11.2012
Сообщений: 4,136
19.07.2013, 22:41 #13
Цитата Сообщение от Даниил1991 Посмотреть сообщение
А можно подробнее?
Кормен. Алгоритмы. Построение и анализ. Часть III Структуры данных. Глава 11 Хеш-таблицы.
0
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:45  [ТС] #14
Цитата Сообщение от 0x10 Посмотреть сообщение
Кормен. Алгоритмы. Построение и анализ. Часть III Структуры данных. Глава 11 Хеш-таблицы.
Я себя чувствую ёжиком в тумане...))Можно ссылку?
0
KOPOJI
20.07.2013, 02:19     Алгоритм хэширования MD5
  #15

Не по теме:

Цитата Сообщение от Даниил1991 Посмотреть сообщение
я в интернете нашел примерный алгоритм MD5 хэширования
это не алгоритм md5 И уж тем более, писать сразу код одной и той же функции на разных языках (си+паскаль)..
Судя по всему, вы это взяли отсюда http://www.nestor.minsk.by/kg/2006/18/kg61802.html.
Что такое Хэш-функция

Предположим, у нас есть некоторый набор данных. Для простоты будем рассматривать натуральные числа от 1 до 106. И пусть есть некоторая функция, в которой один параметр — натуральное число от 1 до 106, а возвращаемое значение — натуральное число от 1 до 1000. Нам не важно, что именно делает эта функция, нам важно то, что она каждому натуральному числу от 1 до 106 ставит в соответствие другое натуральное число от 1 до 1000. Для примера рассмотрим одну из самых простых функций, выполняющих это действие:

C
1
2
3
4
int hash(long int x){
if (x%1000==0) return 1000;
return (x % 1000);
}
Pascal
1
2
3
4
5
function hash(x:longint):longint;
begin
if (x mod 1000=0) then hash:=1000 else
hash:=x mod 1000;
end;
Это и есть простая хэш-функция. Если мы знаем параметр функции, то однозначно можем сказать, какой будет результат. А если нам известен результат, то можем ли мы узнать однозначно параметр? Конечно, нет. Для числа 234 параметр может быть 234,1234, 2234,3234… Поэтому однозначно восстановить параметр не получится.
md5 там и близко не валялось

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2013, 02:19
Привет! Вот еще темы с ответами:

MD5 - C++
Приветствую Вас друзья! Кто знает напишите кодировщика MD5 на С++.

MD5 - C++
Хочу, просто в C/C++ рассчитать хэш для строки символов. Но в документацию на инглише не врубаюсь, компилятор (GCC) при линковке пишет ...

md5 и указатели - C++
Здравствуйте! Есть функция md5 взятая из openssl, с помощью нее нужно сгенерировать хеш, данные для которого поступят из функции RSA,...

Хэширование md5 - C++
Здравствуйте, вопрос такой, есть реализация MD5 (взятая кстати где-то здесь), она работает,но проблема в том, что надо как то представить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
20.07.2013, 02:19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.