我有一个要解决的问题。
我有此代码BASH
get_customer_url() {
local IP=${1:-127.0.0.1}
local SECRET=${2:-VERY_COOL_SECRET}
local EXPIRES="$(date -d "today + 30 minutes" +%s)";
local token="$(echo -n "${EXPIRES} ${IP} ${SECRET}" | openssl md5 -binary | openssl base64 | tr +/ -_ | tr -d =)"
echo "https://example.com/video/hls/${token}/${EXPIRES}/live.m3u8"
}
我想用php做同样的代码。我实际上是在尝试这样做,但是在md5和base64的加密部分中,我没有找到。我设法使其打印出来,但它不等于BASH脚本的结果
这是我能做的php代码
<?php
$ip = '127.0.0.1';
$secret = 'VERY_COOL_SECRET';
$expires = time()+30*60;
$token1 = md5("$expires $ip $secret");
$token1 = rtrim(strtr(base64_encode($token1), '+/', '-_'), '=');
echo $token1 ;
它返回类似于此NTJjNzg4YThlMzA5ZjhjZTjjMDM3YzdkYTE1M2YzMTQ的字符串,但使用BASH则保留为Z35QX0iDntGvUD8GYbzxuw。谁可以将这段代码转换为php或向我提供代码帮助?