Форум программистов, компьютерный форум, киберфорум
Наши страницы

С под Linux

Войти
Регистрация
Восстановить пароль
 
kolyanchi1
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 35
#1

Sha512 через OpenSSL на чистом С - C Linux

15.02.2017, 22:15. Просмотров 572. Ответов 11
Метки нет (Все метки)

Нужна функция sha512 написанная на чистом С. Программирую на Ubuntu. В интернете ничего не смог найти. Буду рад любой помощи)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2017, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Sha512 через OpenSSL на чистом С (C Linux):

Нужна функция sha256 написанная на чистом С с использованием OpenSSL - C Linux
Нужна функция sha256 написанная на чистом С с использованием OpenSSL. Программирую на Ubuntu. В интернете ничего не смог найти. Буду рад...

Undefined reference OPENSSL - C Linux
Добрый всем день. Возникла проблема с компиляцией. Пишу программу преобразование строки с использованием хеш-функции SHA1. ...

Библиотека не найдена - makefile в OpenSSL - C Linux
Мне нужно собрать OpenSSL для Android. OpenSSL по умолчанию поддерживает конфигурация для Android и со сборкой вопросов не возникло. Они...

Подпись файл и проверка через openssl - Java EE
Добрый день! Есть код который создает электронную подпись и записывает ее в файл. GetKeysFromStorage("C:\\Program...

Шифрование и дешифровка AES через OpenSSL - Криптография
Всем привет. Попытался применить для шифрования следующий код: unsigned char* plaintext = (unsigned...

декодирование текста, закодированого через openssl (linux) - Java SE
Я кодирую текст через скрипт Пример : echo "TEXT TEXT"openssl enc -e -aes-128-cbc -k PASSWORD >1.txt Как мне декодировать текст...

11
Humanoid
Почетный модератор
9863 / 3762 / 172
Регистрация: 12.06.2008
Сообщений: 11,527
15.02.2017, 22:52 #2
Можно использовать openssl. Или вам нужен именно код? Я когда-то хеш-функции копировал из исходников PHP. Но подредактировать всё равно придётся.
1
kolyanchi1
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 35
16.02.2017, 11:38  [ТС] #3
Можно с OpenSSL

Добавлено через 58 минут
Точнее мне и нужно с OpenSSL, забыл дописать
0
si1n3rd
27 / 27 / 7
Регистрация: 27.04.2016
Сообщений: 88
16.02.2017, 19:23 #4
Encrypting SHA512 Example in c

Возможно, то что нужно.
1
Humanoid
Почетный модератор
9863 / 3762 / 172
Регистрация: 12.06.2008
Сообщений: 11,527
16.02.2017, 22:38 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну тогда вооружайтесь описанием и просто пишите код. Например:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <openssl/sha.h>
 
int main(int argc, char *argv[])
{
    SHA512_CTX ctx;
    int res;
    unsigned char md[64];
 
    if (!SHA512_Init(&ctx))
        printf("Can not init\n");
    if (!SHA512_Update(&ctx, "Hello", 5))
        printf("Can not update\n");
    if (!SHA512_Final(md, &ctx))
        printf("Can not final\n");
 
    for (int i = 0; i < 64; i++)
        printf("%02x", md[i]);
    printf("\n");
 
    return 0;
}
При линковке нужно указывать -lcrypto
Например:
Bash
1
gcc a.c -std=c99 -lcrypto
2
kolyanchi1
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 35
02.03.2017, 19:07  [ТС] #6
Спасибо

Добавлено через 15 минут
Почему-то не хочет компилироваться командой "gcc sha.c -o sha -lcrypto"
Почему?

Добавлено через 1 час 11 минут
А как код будет выглядеть для SHA 256?
0
Humanoid
Почетный модератор
9863 / 3762 / 172
Регистрация: 12.06.2008
Сообщений: 11,527
02.03.2017, 23:34 #7
Цитата Сообщение от kolyanchi1 Посмотреть сообщение
Почему-то не хочет компилироваться командой "gcc sha.c -o sha -lcrypto"
Почему?
Не знаю. Что пишет? crypto не может найти?
Или вы именно этот код один в один пытаетесь собрать? Тогда нужно указывать -std=c99 или объявить переменную i за пределами цикла:
C
1
2
int i;
for (i = 0......
Цитата Сообщение от kolyanchi1 Посмотреть сообщение
А как код будет выглядеть для SHA 256?
Возможно, это прозвучит очень неожиданно, но надо везде (в четырёх местах) 512 заменить 256
1
kolyanchi1
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 35
02.03.2017, 23:41  [ТС] #8
Уже сам догадался)
Буду так компилировать gcc a.c -std=c99 -lcrypto
Спасибо за помощь)
0
kolyanchi1
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 35
08.03.2017, 18:42  [ТС] #9
А как вычислить хэш текстового документа? В моём случае мне нужно вычислить хэш sha256 публичного ключа RSA
0
Humanoid
Почетный модератор
9863 / 3762 / 172
Регистрация: 12.06.2008
Сообщений: 11,527
09.03.2017, 01:11 #10
Цитата Сообщение от kolyanchi1 Посмотреть сообщение
А как вычислить хэш текстового документа?
Читайте его блоками и делайте SHA256_Update для каждого блока. А в конце один раз SHA256_Finish.
1
kolyanchi1
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 35
09.03.2017, 18:05  [ТС] #11
Спасибо!
А не могли бы вы помочь вот с этой темой? Создать и проверить сертификаты через OpenSSL на чистом С
Хотя бы что-то, а то я в ступняке
0
Humanoid
Почетный модератор
9863 / 3762 / 172
Регистрация: 12.06.2008
Сообщений: 11,527
09.03.2017, 23:05 #12
Нет, про сертификаты и ключи практически ничего знаю.
0
09.03.2017, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2017, 23:05
Привет! Вот еще темы с ответами:

Нужна функция sha512 - C++
Подскажите, пожалуйста, функцию sha512 написанную на C++, принимающую массив байтов, и возвращающую массив байтов. Ее исходник должен...

Centos Sha512 хэш пароля - RedHat, Fedora Linux
Здравствуйте. Получил в универе задание, но без подробных объяснений. Суть в том, чтобы узнать пароль пользователя в Centos 6.4 на...

OpenSSl - Безопасность
Добрый вечер! Помогите с OpenSSL. Вообще не разбираюсь в этой системе, т.к. лекций не было, а завтра зачёт 1.Необходимо создать...

Установка openssl - Ubuntu Linux
При установке openssl возникла такая ошибка: collect2: выполнение ld завершилось с кодом возврата 1 make: *** Ошибка 1 make:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru