Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 11
1

Алгоритм хеширования MD5 с выводом в буфер обмена

14.06.2015, 22:34. Показов 1074. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, всем знатокам! Реализовала алгоритм хеширования 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "stdafx.h"
#include <stdio.h>
#include <cstdlib>
#include <windows.h>
#include <string.h>
#include "md5.h"
 
static void MDFile (char *);
static void MDPrint (unsigned char [16]);
 
#define MD_CTX MD5_CTX
#define MDInit MD5Init
#define MDUpdate MD5Update
#define MDFinal MD5Final
 
int main()
{
    MDFile("12345.hex");
    return 0;
}
 
/* Ñîçäàåò è âûâîäèò ñèãíàòóðó ôàéëà. */
static void MDFile(char *filename)
{
    FILE *file;
    MD_CTX context;
    int len;
    unsigned char buffer[1024], digest[16];
 
    if ((file = fopen(filename, "rb")) == NULL)
        printf("%s can't be opened\n", filename);
 
    else {
        MDInit(&context);
        while (len = fread(buffer, 1, 1024, file))
            MDUpdate(&context, buffer, len);
        MDFinal(digest, &context);
 
        fclose(file);
 
        HGLOBAL hglb;
        unsigned char * pBuf;
        if (OpenClipboard(0))
            EmptyClipboard();
 
        if ((hglb = GlobalAlloc(GMEM_DDESHARE, 16)) == NULL){
            perror("GlobalAlloc");
            CloseClipboard();
            system("pause");
            exit(1);
        }
        pBuf = (unsigned char*)GlobalLock(hglb);
        memcpy(pBuf, digest, sizeof(unsigned char));
        GlobalUnlock(hglb);
        SetClipboardData(CF_TEXT, hglb);
        CloseClipboard();
        GlobalFree(hglb);
 
 
        // printf ("MD5 (%s) = ", filename);
        // MDPrint (digest);
        //printf ("\n");
        //system ("pause");
        return;
    }
}
 
/*static void MDPrint(unsigned char digest[16])
{
unsigned int i;
unsigned char buff[17];
 
for (i = 0; i < 16; i++)
    printf("%02x", digest[i]);
 
}*/
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2015, 22:34
Ответы с готовыми решениями:

Существует ли какая-то библиотечная функция для хеширования в MD5
Всем привет! Столкнулся с следующей проблемой: Существует ли какая-то библиотечная функция для...

Скопировать строку в буфер обмена
Здравствуйте! Возникла потребность сохранить имеющуюся строку (предположим, S) в буфер обмена. Я...

Как строку скопировать в буфер обмена?
Возьмём простую программу. Как можно в ней реализовать, чтоб строка оказалась в буфере обмена, и её...

По поводу алгоритма хеширования Md5
Объясните плыз более менее русским языком принцип хеширования, по какому алгоритму это происходит...

0
14.06.2015, 22:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2015, 22:34
Помогаю со студенческими работами здесь

Как подключить функцию md5 хеширования?
подскажите как подключить функцию мд5 хеширования? в лабе по безопасности надо хранить пароль в бд...

Функция сжатия в алгоритме хеширования MD5
Я вот начал но не могу доделать где то ошибка или кто за деньги поможет) #!/usr/bin/perl -w sub...

Алгоритмы хеширования (MD5\MD6\SHA-2)
Здравствуйте!!! Покажите пожалуйста рабочий пример Алгоритма хеширования MD5 или MD6 или SHA-2...

Алгоритм хеширования
Надо реализовать алгоритм хеширования, работает так: all_text = &quot;QWERTY&quot; required_text = &quot;QW&quot;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru