Генератор MD5

| Нет комментариев | Нет трекбэков
Навеяло вот предыдущим постом. Накатал небольшую программку на C, которая читает строку со стандартного входа и выдаёт на выходе строку хеша MD5.
md5digest.c
#include <stdio.h>
#include <openssl/md5.h>

#define VERSION "0.1"

void usage(void);

int main(int argc, char* argv[])
{
	if (!argv[1])
	{
		usage();
		return 0;
	}

	unsigned char *m_arg = (unsigned char *)argv[1];
	unsigned int i = 0;
	while (m_arg[i] != '\0')
		i++;
	
	unsigned char *digest = MD5(m_arg, i, NULL);
	
	printf("MD5 digest: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x\n",
		digest[0], digest[1], digest[2], digest[3],
		digest[4], digest[5], digest[6], digest[7],
		digest[8], digest[9], digest[10], digest[11],
		digest[12], digest[13], digest[14], digest[15]);

	return 0;
}

void usage(void)
{
	printf("MD5 digest generator v%s.\nUsage: md5digest STRING\n\nResult is md5 hash of STRING.\n\nmd5digest Copyright (C)2008 Nik S Denin\nThis program comes with ABSOLUTELY NO WARRANTY.\nThis is free software, and you are welcome to redistribute it\nunder certain conditions.\n", VERSION);
}

#undef VERSION

Makefile
CC = gcc
CFLAGS = -Wall -pipe
LDFLAGS = -lcrypto
EXEC_NAME = md5digest
SOURCES = $(wildcard *.c)

all: $(SOURCES)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(EXEC_NAME) $<

install:
	cp $(EXEC_NAME) /usr/local/bin/$(EXEC_NAME)

uninstall:
	rm -f /usr/local/bin/$(EXEC_NAME)

.PHONY : clean
clean:
	rm -f $(EXEC_NAME)



Код под лицензией GPL v3.
Скачать исходный код: md5digest_util.zip

Нет трекбэков

URL для трекбэков: http://weho.ru/cgi-bin/mt/mt-tb.cgi/76

Комментировать

Об этой записи

Сообщение опубликовано 22.05.2008 02:27. Автор — Narmo.

Предыдущая запись — Модуль для MD5 в iPhone

Следующая запись — Шарик

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.

Работает на Movable Type 5.01
Хороший хостинг