M2Crypto Шифруют/Дешифруют использование AES256

Измените CLOCK_REALTIME на CLOCK_PROCESS_CPU_TIME.
использование sleep() занимает несколько секунд, чтобы накопить небольшое количество процессорного времени.

#include <stdio.h>
#include <unistd.h>
#include <time.h>
#define BILLION 1E9
int main ( void) {
    double executionTime = 0.0001;

    double  elapsedTime = -1;
    double  elapsedTimertc = -1;

    struct timespec startrtc;
    struct timespec start;
    struct timespec currentrtc;
    struct timespec current;

    clock_gettime(CLOCK_REALTIME, &startrtc);
    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);

    for (;;)
    {
        sleep ( 1);
        clock_gettime(CLOCK_REALTIME, &currentrtc);
        clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &current);

        elapsedTime = (current.tv_sec - start.tv_sec) + ((current.tv_nsec - start.tv_nsec) / BILLION);
        elapsedTimertc = (currentrtc.tv_sec - startrtc.tv_sec) + ((currentrtc.tv_nsec - startrtc.tv_nsec) / BILLION);

        if (elapsedTime >= executionTime)
        {
            break;
        }
    }
    printf ( "elapsed time %f\n", elapsedTime);
    printf ( "elapsed time %f\n", elapsedTimertc);
}
6
задан Heikki Toivonen 3 November 2009 в 17:48
поделиться

3 ответа

Документация M2Crypto ужасна. Иногда может помочь документация OpenSSL (m2crypto обертывает OpenSSL). Лучше всего взглянуть на модульные тесты M2Crypto - https://gitlab.com/m2crypto/m2crypto/blob/master/tests/test_evp.py - найдите test_AES ( ) метод.

13
ответ дан 8 December 2019 в 14:47
поделиться

When it comes to security nothing beats reading the documentation.

http://chandlerproject.org/bin/view/Projects/MeTooCrypto

Even if I took the time to understand and make the perfect code for you to copy and paste, you would have no idea if I did a good job or not. Not very helpful I know, but I wish you luck and secure data.

-1
ответ дан 8 December 2019 в 14:47
поделиться

Взгляните на m2secret :

Небольшая утилита и модуль для шифрование и дешифрование данных с помощью алгоритмы с симметричным ключом. По умолчанию использует 256-битный AES (Rijndael) с использованием CBC, но некоторые параметры можно настроить. Алгоритм PBKDF2, используемый для получения ключа из пароля.

2
ответ дан 8 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

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