OpenSSL と C を使用して SHA256 ハッシュを生成する方法 : ステップバイステップ ガイド

Susan Sarandon
リリース: 2024-10-30 06:07:02
オリジナル
161 人が閲覧しました

How to Generate SHA256 Hashes Using OpenSSL and C  : A Step-by-Step Guide

OpenSSL と C を使用した SHA256 の生成

はじめに:
安全なハッシュの作成は暗号化の基本的な側面です。特にデータの整合性とセキュリティ検証の観点で最も広く使用されているハッシュ アルゴリズムの 1 つは SHA256 です。この記事では、OpenSSL ライブラリと C を使用して SHA256 ハッシュを効果的に生成する方法について詳しく説明します。

SHA256 ハッシュの実装:
SHA256 ハッシュを正常に生成するには、次の手順に従います:

  1. SHA256 関数に必要な OpenSSL ヘッダーを含めます:

    <code class="cpp">#include <openssl/sha.h></code>
    ログイン後にコピー
  2. バイナリ ハッシュ値を 16 進文字列に変換する関数を定義します:

    <code class="cpp">void sha256_hash_string (unsigned char hash[SHA256_DIGEST_LENGTH], char outputBuffer[65])</code>
    ログイン後にコピー
  3. 文字列のメイン SHA256 ハッシュ計算関数を実装します:

    <code class="cpp">void sha256_string(char *string, char outputBuffer[65])</code>
    ログイン後にコピー
  4. ファイルの SHA256 ハッシュを生成する必要がある場合:

    <code class="cpp">int sha256_file(char *path, char outputBuffer[65])</code>
    ログイン後にコピー

使用例:
これらの関数を実装したら、次のサンプル コードに示すように、それらを利用して SHA256 ハッシュを生成できます:

<code class="cpp">static unsigned char buffer[65];
sha256("string", buffer);
printf("%s\n", buffer);</code>
ログイン後にコピー

インクルード パスの問題への対処:
提供されたコード サンプルでは、​​正しいヘッダー ファイルが含まれているにもかかわらず、コンパイラは OpenSSL 関数を見つけるのが難しいと報告しました。この問題は、次のようなフラグを使用してコンパイル中に正しいインクルード パスが指定されていることを確認することで解決できます。

<code class="cpp">-I/opt/ssl/include/ -L/opt/ssl/lib/ -lcrypto</code>
ログイン後にコピー

「/opt/ssl」を OpenSSL インストールへの関連パスに置き換えると、問題が解決されるはずです。

以上がOpenSSL と C を使用して SHA256 ハッシュを生成する方法 : ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!