(PHP 7 >= 7.2.0, PHP 8)
sodium_hex2bin — 16進エンコードされたバイナリ文字列をデコードする
16進エンコードされたバイナリ文字列をデコードします。
sodium_bin2hex() と同じく、 sodium_hex2bin() 関数はサイドチャネル攻撃に対する耐性がありますが、 hex2bin() はそうではありません。
string
データの16進表現。
ignore
オプションで指定する、無視する文字
指定された
string
のバイナリ表現を返します。
For some very, very weird reason, if you pass an invalid argument to this function:
<?php $cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48dZGBmq4sRDUFy99glKIlKjlxaB76luP64d6fb13851'); ?>
then you'll get "Fatal error: Uncaught Error: Call to undefined function sodium_hex2bin()" error instead of any error that would tell you that your argument is invalid.
I still keep wondering why this isn't intercepted internally and how can PHP find one of its internal functions undefined only due to the wrong argument developer calls them with.