Qual a melhor API para se trabalhar com hash SHA-2 e SHA-1? [RESOLVIDO]

1. Qual a melhor API para se trabalhar com hash SHA-2 e SHA-1? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/06/2018 - 12:46h

Olá, gostaria de saber se existe uma API para as linguagens C e C++ para se trabalhar com funções hash (SHA-2 e SHA-1) e que seja compativel com todas as plataformas (Windows, Mac OS, Linux e Unix)?


  


2. MELHOR RESPOSTA

Fernando
phoemur

(usa Debian)

Enviado em 23/06/2018 - 16:06h

Não necessariamente. Pois só vai ser adicionado a funcionalidadeque você utilizar... Em C/C++ você só paga pelo que você usa.

Por exemplo:

teste.cpp

#include <algorithm>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <string>
#include <sstream>

#include <openssl/sha.h>

std::string sha512sum(const std::string& input)
{
unsigned char digest[SHA512_DIGEST_LENGTH];

// compute hash
SHA512(reinterpret_cast<unsigned const char*>(input.c_str()),
input.size(),
&digest[0]);


// convert byte digest to hex representation
std::stringstream ss;
for(int i = 0; i < SHA512_DIGEST_LENGTH; i++) {
ss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(digest[i]);
}

return ss.str();
}

int main()
{
using namespace std;

string a {"hello\n"};

cout << a << "\n\nsha512 hash: " << sha512sum(a) << endl;

return 0;
}

g++ -o teste teste.cpp -lcrypto

Aqui o executável tem 22k

[phoemur@notebook_lenovo.darkstar ~/cpp/teste]$g++ -o teste teste.cpp -lcrypto
[phoemur@notebook_lenovo.darkstar ~/cpp/teste]$./teste
hello


sha512 hash: e7c22b994c59d9cf2b48e549b1e24666636045930d3da7c1acb299d1c3b7f931f94aae41edda2c2b207a36e10f8bcb8d45223e54878f5b316e7ce3b6bc019629
[phoemur@notebook_lenovo.darkstar ~/cpp/teste]$echo hello | sha512sum
e7c22b994c59d9cf2b48e549b1e24666636045930d3da7c1acb299d1c3b7f931f94aae41edda2c2b207a36e10f8bcb8d45223e54878f5b316e7ce3b6bc019629 -
[phoemur@notebook_lenovo.darkstar ~/cpp/teste]$ls -lha teste
-rwxr-xr-x 1 phoemur users 22K jun 23 16:02 teste*



3. Re: Qual a melhor API para se trabalhar com hash SHA-2 e SHA-1? [RESOLVIDO]

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 22/06/2018 - 19:57h

Você pode utilizar libs, como:
https://github.com/clibs/sha1 

https://github.com/B-Con/crypto-algorithms 

Abraço,
Diego M. Rodrigues


4. Re: Qual a melhor API para se trabalhar com hash SHA-2 e SHA-1? [RESOLVIDO]

Fernando
phoemur

(usa Debian)

Enviado em 23/06/2018 - 09:41h

Eu acho a melhor e mais portável o OpenSSL
Deve ter em qualquer sistema desses ou já instalado ou fácil de instalar.
Mas é uma biblioteca muito grande apenas pra pegar uma função hash


5. Re: Qual a melhor API para se trabalhar com hash SHA-2 e SHA-1? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/06/2018 - 14:51h

phoemur escreveu:
Mas é uma biblioteca muito grande apenas pra pegar uma função hash


Hum...isso vai acabar tornando meu execultavel grande né?
Só pretendo usar SHA-3 ou SHA-2. Pretendia usar SHA-1, mas nos dias atuais ela é considerada insegura.

A princípio...obrigado por responder!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts