PHP:使随机字符串URL安全,并撤消任何使其安全的操作

PHP:使随机字符串URL安全,并撤消任何使其安全的操作,php,urlencode,Php,Urlencode,给定一个随机生成的字符串,我如何转换它以使其URL安全——然后“取消转换”它 PHP的bin2hex函数(请参阅:)似乎可以安全地将字符串转换为URL安全字符。hex2bin功能(请参阅:)可能尚未就绪。以下自定义hex2bin功能有时会起作用: function hex2bin($hexadecimal_data) { $binary_representation = ''; for ($i = 0; $i < strlen($hexadecimal_data); $i

给定一个随机生成的字符串,我如何转换它以使其URL安全——然后“取消转换”它

PHP的
bin2hex
函数(请参阅:)似乎可以安全地将字符串转换为URL安全字符。
hex2bin
功能(请参阅:)可能尚未就绪。以下自定义
hex2bin
功能有时会起作用:

function hex2bin($hexadecimal_data)
{
    $binary_representation = '';

    for ($i = 0; $i < strlen($hexadecimal_data); $i += 2)
    {
        $binary_representation .= chr(hexdec($hexadecimal_data{$i} . $hexadecimal_data{($i + 1)}));
    }

    return $binary_representation;
}
函数hex2bin($hexadecimal_数据) { $binary_表示法=“”; 对于($i=0;$i 只有当函数的输入是有效的
bin2hex
字符串时,它才能正常工作。如果我给它发送的东西不是由
bin2hex
产生的,它就会死掉。我似乎无法让它抛出异常,以防出现问题


有什么建议我能做什么?我不打算使用hex2bin/bin2hex。我需要做的就是将随机字符串转换为URL安全字符串,然后反向执行此过程。

您要做的是对字符串进行URL编码/解码:

$randomString = ...;

$urlSafe = urlencode($randomString);

$urlNotSafe = urldecode($urlSafe); // == $randomString

你可以使用/

你的/,有什么问题吗?