一个简单的案例,bash 中hexdump的合适输出是什么(需要什么选项),以使其适合作为 php 中hex2bin函数的输入!
PS:我正在使用它通过网络服务流式传输证书(由 OpenSSL 命令制作)。
我已经将 PHP 更新到 5.4.0 并且我正在使用 CentOS 6
问问题
725 次
2 回答
0
hexdump -e '1/1 "%02x"'
成功了。
PS 为了避免对 hexdump 二进制文件的额外依赖,您可能需要考虑为此使用 php,并编写一个从 stdin 读取并通过 bin2hex() 写出的短循环。
于 2013-06-22T13:07:50.617 回答
0
解决方案是在 bash 中删除 bash 输出的空格:
res=`xxd -p $exportedkey`
echo "${res//[[:space:]]/}"
在 php 中:
$hex = hex2bin($result);
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=hex.pfx");
header('Content-Length: '. strlen($hex));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
echo $hex;
exit();
希望这可以帮助其他有同样问题的人。
于 2013-06-23T11:22:10.390 回答