【PHP8.x】sodium_bin2hex関数の使い方

作成日: 更新日:

sodium_bin2hex関数は、コンピュータが内部で処理するバイナリデータを、人間が読みやすい16進数形式の文字列に変換する関数です。バイナリデータは0と1の並びで構成され、そのままでは内容を理解したり、テキストベースのシステムで扱ったりすることが困難です。この関数を利用することで、例えば、ファイルに保存したり、データベースに格納したり、ネットワークを通じて送信したりする際に、安全かつ確実にデータを表現できるようになります。

特に、PHPのsodium拡張機能は高度な暗号化機能を提供しており、暗号化されたデータやハッシュ値、秘密鍵などは通常バイナリ形式で生成されます。これらの機密性の高いバイナリデータを、誤って破損させたり、不適切な形式で扱ったりすることなく、安全にログに記録したり、設定ファイルに保存したり、ウェブアプリケーション間でやり取りしたりする場合にsodium_bin2hex関数が役立ちます。

この関数は、変換したいバイナリデータを文字列として引数に一つ受け取り、対応する16進数表現の文字列を戻り値として返します。例えば、1バイトのバイナリデータは、2文字の16進数(例: 0fa3など)に変換されるため、変換後の文字列の長さは元のバイナリデータの約2倍になります。この機能により、データの可読性を高めつつ、様々な環境でバイナリデータを安全かつ確実に扱うことが可能になります。利用するには、PHP環境にsodium拡張がインストールされ、有効になっている必要があります。

基本的な使い方

構文(syntax)

1<?php
2
3$binaryData = random_bytes(16); // 例: 16バイトのバイナリデータ
4$hexString = sodium_bin2hex($binaryData); // バイナリデータを16進数文字列に変換
5
6?>

引数(parameters)

string $string

  • string $string: 16進数文字列に変換したいバイナリデータ(文字列)を指定します

戻り値(return)

string

バイナリデータを16進数文字列に変換した結果を返します。

【PHP8.x】sodium_bin2hex関数の使い方 | いっしー@Webエンジニア