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

作成日: 更新日:

sodium_hex2bin関数は、16進数形式で表現された文字列を、対応するバイナリデータ(生のバイト列)に変換する関数です。この関数は、セキュアな暗号化ライブラリであるLibsodiumのPHP拡張機能の一部として提供されており、主に暗号化やハッシュ化されたデータの処理に利用されます。

プログラムが暗号化されたデータやハッシュ値を扱う際、それらはしばしば人間が読みやすいように「00」「0F」「FF」といった16進数文字の並びで表現されます。しかし、これらのデータを実際にコンピュータで処理したり、別の暗号化関数に渡したりする場合には、元のバイナリ形式に戻す必要があります。sodium_hex2bin関数は、そのような場合に安全かつ正確に形式を変換するために使用されます。

この関数は、変換したい16進数文字列を引数として受け取ります。そして、正常に変換が完了した場合、その文字列に対応するバイナリデータを返します。もし、引数として与えられた文字列に無効な16進数文字(例えば、「G」や「Z」など)が含まれていたり、文字列の長さが奇数であったりするなど、有効な16進数文字列でない場合には、エラーが発生します。セキュリティ関連の処理において、データの整合性を保ちつつ、異なる形式間で安全にデータをやり取りする上で非常に重要な役割を果たします。

基本的な使い方

構文(syntax)

1<?php
2$hex_string = "6d795f64617461"; // 16進数文字列の例
3$binary_data = sodium_hex2bin($hex_string);
4?>

引数(parameters)

string $string, string $ignore = ''

  • string $string: 16進数形式の文字列
  • string $ignore = '': 16進数文字列から無視する文字を指定する文字列。デフォルトは空文字列

戻り値(return)

string

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

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