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

作成日: 更新日:

sodium_bin2base64関数は、バイナリデータをBase64形式の文字列に変換する関数です。この関数は、PHPのsodium拡張機能の一部として提供されており、特に暗号化処理などで生成されるバイナリ形式のデータを、テキスト形式で安全に扱えるようにするために非常に重要です。

コンピュータシステムでは、画像データや暗号化された情報など、テキストではないバイナリデータが数多く存在します。しかし、これらのバイナリデータをそのままHTTPリクエストのパラメータ、JSONデータ、XMLファイル、あるいは電子メールの本文など、テキストベースのシステムで利用しようとすると、文字化けやデータ破損の原因となることがあります。sodium_bin2base64関数を使用することで、これらのバイナリデータを、すべての文字がテキストとして表現可能なBase64という特定の文字セットに変換できます。

これにより、バイナリデータを、テキストベースの環境で安全かつ確実に転送したり、ファイルに保存したりすることが可能になります。例えば、暗号化処理によって得られたバイナリ形式の秘密鍵や署名データを、データベースのテキストフィールドに格納したり、ウェブAPIを通じて送受信したりする際に利用されます。この関数は、変換したいバイナリ文字列と、必要であればエンコードのバリアントを指定するオプションを引数として受け取り、Base64エンコードされた文字列を戻り値として返します。特にセキュリティ関連のバイナリデータを扱う際には、欠かせない機能の一つと言えるでしょう。

基本的な使い方

構文(syntax)

1<?php
2
3// バイナリ文字列をBase64エンコードします
4$binaryString = random_bytes(16); // 例として16バイトのランダムなバイナリ文字列を生成
5$base64Variant = SODIUM_BASE64_VARIANT_ORIGINAL; // Base64エンコードのバリアントを指定
6
7$encodedString = sodium_bin2base64($binaryString, $base64Variant);
8
9echo $encodedString;
10
11?>

引数(parameters)

string $string, int $id

  • string $string: Base64エンコードしたいバイナリデータを表す文字列
  • int $id: 使用するBase64エンコードのバリアントを指定する整数

戻り値(return)

string

バイナリデータをBase64エンコードされた文字列に変換した結果を返します。

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