Hello world e SHA-256 em C

19 Agosto 2019


No vídeo de hoje, eu mostro como implementar um simples “Hello, world!” utilizando a linguagem de programação C.

Para os mais curiosos, vou além e ensino também como utilizar a biblioteca OpenSSL para calcular o hash SHA-256 de uma string.

Segue código final da rotina (arquivo main.c):

// File: main.c

#include <stdio.h>
#include <openssl/sha.h>
#include <string.h>

int main(int argcount, char **args) {
    if (argcount != 2) {
        printf("Usage: %s <string>\n", args[0]);
        return 1;
    }
    printf("INPUT: %s\n", args[1]);
    unsigned char *hash = SHA256(args[1], strlen(args[1]), NULL);
    printf("SHA256: ");
    for (int i = 0; i < 32; i++) {
        printf("%02x", hash[i]);
    }
    printf("\n");
    return 0;
}

Dependências no Debian:

sudo apt-get install libssl-dev

Comandos para compilar e executar a rotina acima, no terminal do Linux:

# Atenção: a ordem dos parâmetros do comando a seguir é importante!
gcc main.c -lcrypto
./a.out "My string"