Стандартные программы MD5, которые являются Бойкой товарищеской встречей?

DECLARE @TABLE TABLE 
  (RowNo INT,ScripName  VARCHAR(10),ScripCode  VARCHAR(10)
  ,Price  VARCHAR(10))      
INSERT INTO @TABLE VALUES
  (1,'20 MICRONS ','533022','39')
SELECT ColumnName,ColumnValue from @Table
 Unpivot(ColumnValue For ColumnName IN (ScripName,ScripCode,Price)) AS H
6
задан dvorak 22 September 2008 в 01:50
поделиться

2 ответа

Если у Вас нет очень серьезного основания, используйте встроенный MD5 glib, SHA1 и реализации SHA256 с GChecksum. Это не имеет встроенной функции для построения контрольной суммы из потока IO, но можно записать простой в 10 строках, и необходимо было бы записать сложный сами так или иначе.

6
ответ дан 16 December 2019 в 21:48
поделиться

Обычно необходимо делать, связующее звено библиотеки наполняет себя...

void get_channel_md5( GIOChannel* channel, unsigned char output[16] )
{
    md5_context ctx;

    gint64 fileSize = <get file size somehow?>;
    gint64 filePos = 0ll;

    gsize bufferSize = g_io_channel_get_buffer_size( channel );
    void* buffer = malloc( bufferSize );

    md5_starts( &ctx );

    // hash buffer at a time: 
    while ( filePos < fileSize )
    {
        gint64 size = fileSize - filePos;
        if ( size > bufferSize )
            size = bufferSize;

        g_io_channel_read( channel, buffer );
        md5_update( &ctx, buffer, (int)size );

        filePos += bufferSize;
    }

    free( buffer );

    md5_finish( &ctx, output );
}
2
ответ дан 16 December 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: