LINUX.ORG.RU

История изменений

Исправление wota, (текущая версия) :

#!/usr/bin/tcc -run -lcrypto

#define _GNU_SOURCE
#include <stdio.h>

int main( int argc, char** argv ) {
    FILE *in  = fopen( argv[1], "r" );
    FILE *out = fopen( argv[2], "w" );

    int i;
    char *line = NULL;
    size_t len = 0;
    ssize_t read;
    unsigned char md[ 16 ];
	
    while( ( read = getline( &line, &len, in ) ) != -1 ) {
        MD5( line, len, md );

        for( i = 0 ; i < 16 ; ++i ) {
            fputc( "0123456789abcdef"[ md[ i ] >> 4 ], out );
            fputc( "0123456789abcdef"[ md[ i ] & 0x0F ], out );
        }

        fputc( '\n', out );
    }

    fclose( out );
}

вариант №2, чтоб не нужно было хедеры от openssl ставить, ну и покороче

Исходная версия wota, :

#!/usr/bin/tcc -run -lcrypto

#define _GNU_SOURCE
#include <stdio.h>

int main( int argc, char** argv ) {
    FILE *in  = fopen( argv[1], "r" );
    FILE *out = fopen( argv[2], "w" );

    int i;
    char *line = NULL;
    size_t len = 0;
    ssize_t read;
    unsigned char md[ 16 ];
	
    while( ( read = getline( &line, &len, in ) ) != -1 ) {
        MD5( line, len, md );

        for( i = 0 ; i < 16 ; ++i ) {
            fputc( "0123456789abcdef"[ md[ i ] >> 4 ], out );
                fputc( "0123456789abcdef"[ md[ i ] & 0x0F ], out );
        }

        fputc( '\n', out );
    }

    fclose( out );
}

вариант №2, чтоб не нужно было хедеры от openssl ставить, ну и покороче