【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エンコードされた文字列に変換した結果を返します。