Форум программистов, компьютерный форум CyberForum.ru

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

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

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

19.07.2013, 22:23. Просмотров 2739. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 22:23     Алгоритм хэширования MD5
Посмотрите здесь:

C++ MD5
Разбираюсь с md5 C++
C++ MD5 хеширование
Md5 и Sha1. C++
Нужен пример хэширования C++
C++ MD5 хэширование
Реализация MD5 ? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4470 / 2832 / 224
Регистрация: 12.12.2009
Сообщений: 7,202
Записей в блоге: 1
Завершенные тесты: 1
19.07.2013, 22:28     Алгоритм хэширования MD5 #2
Сдается мне, это не С++ и даже не Си, это какой-то доселе неизвестный ЯП.

Не по теме:

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

0x10
19.07.2013, 22:28
  #3

Не по теме:

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

Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:29  [ТС]     Алгоритм хэширования MD5 #4
Да мне казалось что там где я это нашел было написано что это С++
Подскажите пожалуйста норм. алгоритм шифрования на С++
Kastaneda
Форумчанин
Эксперт С++
4470 / 2832 / 224
Регистрация: 12.12.2009
Сообщений: 7,202
Записей в блоге: 1
Завершенные тесты: 1
19.07.2013, 22:30     Алгоритм хэширования MD5 #5
Цитата Сообщение от Даниил1991 Посмотреть сообщение
шифрования
так шифрования или хеширования?
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:31  [ТС]     Алгоритм хэширования MD5 #6
Цитата Сообщение от Kastaneda Посмотреть сообщение
так шифрования или хеширования?
Ой, извиняюсь, хэширования)
Kastaneda
Форумчанин
Эксперт С++
4470 / 2832 / 224
Регистрация: 12.12.2009
Сообщений: 7,202
Записей в блоге: 1
Завершенные тесты: 1
19.07.2013, 22:32     Алгоритм хэширования MD5 #7
А чем MD5 не устроил?
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:34  [ТС]     Алгоритм хэширования MD5 #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
А чем MD5 не устроил?
Да нет, мне просто нужно написать прогу которая будет именно сама хэшировать символы и цифры

Добавлено через 35 секунд
Хэшировать в MD5 хэш (я просто в этих всех хэшах не разбираюсь)
0x10
2456 / 1628 / 238
Регистрация: 24.11.2012
Сообщений: 4,003
19.07.2013, 22:34     Алгоритм хэширования MD5 #9
Даниил1991, в википедии есть ссылка на реализацию.
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:36  [ТС]     Алгоритм хэширования MD5 #10
Цитата Сообщение от 0x10 Посмотреть сообщение
Даниил1991, в википедии есть ссылка на реализацию.
Типа в википедии статья "Алгоритм MD5 хэширования"?
Kastaneda
Форумчанин
Эксперт С++
4470 / 2832 / 224
Регистрация: 12.12.2009
Сообщений: 7,202
Записей в блоге: 1
Завершенные тесты: 1
19.07.2013, 22:36     Алгоритм хэширования MD5 #11
Даниил1991, ты точно уверен, что тебе нужен именно MD5? Потому что твою потребность
Цитата Сообщение от Даниил1991 Посмотреть сообщение
хэшировать символы и цифры
можно удовлетворить гораздо меньшими затратами.
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
19.07.2013, 22:37  [ТС]     Алгоритм хэширования MD5 #12
Цитата Сообщение от Kastaneda Посмотреть сообщение
Даниил1991, ты точно уверен, что тебе нужен именно MD5? Потому что твою потребность

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

Olivеr
20.07.2013, 02:48
  #16

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение

Не по теме:

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

паскаль)

Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
20.07.2013, 03:08     Алгоритм хэширования MD5 #17
Цитата Сообщение от Даниил1991 Посмотреть сообщение
function hash(x:longint):longint;
*begin
*if (x mod 1000=0) {
*then hash:=1000 else
*hash:=x mod 1000;
*end;
Имени function в С++ нету, в паскале только, ну и в делфи.
0x10
2456 / 1628 / 238
Регистрация: 24.11.2012
Сообщений: 4,003
20.07.2013, 07:45     Алгоритм хэширования MD5 #18
Цитата Сообщение от Даниил1991 Посмотреть сообщение
Я себя чувствую ёжиком в тумане...))Можно ссылку?
http://www.ozon.ru/context/detail/id/6102632/
http://www.ozon.ru/context/detail/id/2429691/
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
20.07.2013, 11:29  [ТС]     Алгоритм хэширования MD5 #19
Там просто ещё поискать нужно, в книгах)
А вы не знаете сайта где есть конкретно алгоритм хэширования MD5 на С++?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2013, 11:34     Алгоритм хэширования MD5
Еще ссылки по теме:

Реализация md5() C++
md5 и указатели C++
Показать элементарный пример хэширования слова C++
Хэширование md5 C++
C++ Md5

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4470 / 2832 / 224
Регистрация: 12.12.2009
Сообщений: 7,202
Записей в блоге: 1
Завершенные тесты: 1
20.07.2013, 11:34     Алгоритм хэширования MD5 #20
Даниил1991, сложно тебе наверно без гугла живется, хорошо, что форум есть
тыц
Yandex
Объявления
20.07.2013, 11:34     Алгоритм хэширования MD5
Ответ Создать тему
Опции темы

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