PHPは、私が定期的に使用する言語の1つですが、通常、PHPを再び使用し始めると、クモの巣をほこりで払う必要があります。今週、CコードをPHPに移植するときにも同じことが言えます。これは多くのAES暗号化とSHA256ハッシュを使用します-これまでのところすべて正常に機能しています。ただし、復号化された文字列は「C」形式で出力されます。つまり、ゼロバイトの後に「ガベージ」パディングバイトが続きます。
私は現在、これらのCスタイルの文字列を次のようにPHP形式に「トリミング」しています。
$iv = strpos( $hashsalt8, "\0");
if ($iv)
$hashsalt8 = substr( $hashsalt8, 0, $iv );
時間がかかり、代わりに1行の関数呼び出しがあるはずですが、見つかりませんか?
注:この場合、「ハッシュソルト」という名前は、元の文字列の長さを知っている可能性があることを意味しますが、一般的な場合は不明です。substr()
明らかに、長さが事前にわかっている場合を使用して、1行のソリューションを利用できます。