Модераторы: xvr
  

Поиск:

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


Опытный
**


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

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



Как имея строку, получить ее хешь md5 ?

PM MAIL WWW ICQ Jabber   Вверх
Mayk
Дата 8.1.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



1) RFC1321
2) Google


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
admsasha
Дата 8.1.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mayk @ 8.1.2006, 17:02 Найти цитируемый пост)

1) RFC1321
2) Google


может есть готовая функция ?
PM MAIL WWW ICQ Jabber   Вверх
Mayk
Дата 8.1.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(admsasha @ 8.1.2006, 15:21 Найти цитируемый пост)


может есть готовая функция ?

Ах да.
3) koders.com

Еще В RFC - есть [исходник на си]. Только кажется не самый быстрый.

grep -Ri md5 /usr/include говорит, что лично у меня ф-ций готовых нет.
То же самое grep говорит в стандарте Single Unix Specification 3.

Если уж совсем в лом, то можно вывод /usr/bin/md5sum попарсить, если он есть. Только вызывать программы - зло.
Добавлено @ 12:20
О! Нашёл в исходниках xscorch'а. locate md5 тоже иногда помогает smile
См. аттач
ps. после скачки переименуй .jpg в .tar.bz2

Присоединённый файл ( Кол-во скачиваний: 33 )
Присоединённый файл  md5.jpg 5,73 Kb


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
admsasha
Дата 8.1.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mayk @ 8.1.2006, 19:13 Найти цитируемый пост)

О! Нашёл в исходниках xscorch'а. locate md5 тоже иногда помогает 
См. аттач
ps. после скачки переименуй .jpg в .tar.bz2


пытаюсь его собрать в модуль:
Цитата

# gcc -Wall -pedantic -ansi ./md5.c -c
In file included from ./md5.c:38:
./md5.h:149: error: syntax error before "md5_uint32"
./md5.c: In function `md5_finish_ctx':
./md5.c:113: warning: implicit declaration of function `bcopy'


Как и какую функцию потом нужно использовать ?
PM MAIL WWW ICQ Jabber   Вверх
Mayk
Дата 8.1.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Там нужно внести минимум очевиднейших изменений.

Цитата(admsasha @ 8.1.2006, 17:47 Найти цитируемый пост)

./md5.h:149: error: syntax error before "md5_uint32"

Ну и к чёрту оптимизированный rol. Оставь
# define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) )
а остальное убери

Цитата(admsasha @ 8.1.2006, 17:47 Найти цитируемый пост)

./md5.c:113: warning: implicit declaration of function `bcopy'

Убери макрос memcpy. Оставь #include'ы

Цитата(admsasha @ 8.1.2006, 17:47 Найти цитируемый пост)

Как и какую функцию потом нужно использовать ?


Код

#include <stdio.h>
#include <string.h>
#include "md5.h"

int main()
{
        struct md5_ctx ctx;
        unsigned char s[16];
        int i;
        md5_init_ctx(&ctx);
        md5_process_bytes("foo\n" ,4,&ctx);
        md5_finish_ctx(&ctx,s);
        for(i=0;i!=16;++i){
                printf("%02x",s[i]);
        }
        printf("\n");

}

проверка
Цитата

17:11 ~/src/md5$ ./main
d3b07384d113edec49eaa6238ad5ff00
17:11 ~/src/md5$ echo foo | md5sum
d3b07384d113edec49eaa6238ad5ff00  -
17:11 ~/src/md5$ man md5sum
[skip]
          echo foo > md5-test-file; md5sum md5-test-file

              md5sum would report:

              d3b07384d113edec49eaa6238ad5ff00  md5-test-file



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
admsasha
Дата 8.1.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mayk @ 8.1.2006, 21:12 Найти цитируемый пост)

Убери макрос memcpy. Оставь #include'ы


Код

# ifndef HAVE_MEMCPY
#  define memcpy(d, s, n) bcopy ((s), (d), (n))
# endif

закоментировал строчки - не помогает. Сам я плохо знаю C++, вкоде не разберусь. Прошу помочь.
Добавлено @ 16:27
Всё, функция заработала, НО

1. мне надо что бы md5 генерировалось по ключу И salt.
2. всё это на C++, а не на С.
PM MAIL WWW ICQ Jabber   Вверх
admsasha
Дата 8.1.2006, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Поясню свою задачу.

В программу поступает логин и пароль, мне надо узнать соотвествует ли этому логину указанный пароль.
Пароли хранятся в shadow:
user1:$1$wliFT5oq$ByhEeeWZwVTRANK4tqNeJd:12914:0:99999:7:::
user2:$1$gl55T3og$ByhEedW3wrT4A3rKt5N3eJd:12914:0:99999:7:::

я хотел по salty и полученному паролю проверять каждую строчку.

Может кто подскажет лучший вариант ?
PM MAIL WWW ICQ Jabber   Вверх
Mayk
Дата 8.1.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(admsasha @ 8.1.2006, 20:41 Найти цитируемый пост)

Может кто подскажет лучший вариант ?

Можешь еще почитать про crypt(3), encrypt(3).




--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 8.1.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


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

Репутация: 4
Всего: 317



Mayk. хорошо что в конце концов нашелся единственный правильный выход - использовать crypt
smile



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
admsasha
Дата 9.1.2006, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mayk @ 9.1.2006, 00:41 Найти цитируемый пост)

Можешь еще почитать про crypt(3), encrypt(3).


Большое спасибо !!! как раз то что и надо !
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




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


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

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