在为我的加密链接创建QR码时,我注意到QR码中未包含“ +”符号。
示例链接:http://localhost/cp//form?ASLV2N0+YmkHz6ELPjgEoqbA7qYQ69eoTReV9jSwEviaqJi8j54kQmpbaVK58LlFZmjhKG+X3uyPpZ6fC0/H2A==
反正可以删除加密中的+符号吗? 这就是我加密链接的方式:
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qEncoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($cryptKey),
$q,
MCRYPT_MODE_CBC,
md5(md5($cryptKey))));
答案 0 :(得分:0)
来自7-year-old comment中的the documentation:
对于对“ base64url”变体编码感兴趣的任何人,您都可以使用以下功能对:
package.out
答案 1 :(得分:0)
您误解了这个问题。
from time import sleep
符号在URL中具有特殊含义。这是表达空间的一种方式。
如果您想将+
作为数据包含在URL中,则需要将其编码为+
。
答案 2 :(得分:0)
ASLV2N0+YmkHz6ELPjgEoqbA7qYQ69eoTReV9jSwEviaqJi8j54kQmpbaVK58LlFZmjhKG+X3uyPpZ6fC0/H2A==
似乎是原始的base64代码。您不仅可以将随机数据注入URL,还需要encode it properly,例如:
$url = 'http://localhost/cp/form?' . rawurlencode($qEncoded);
我还建议您仔细检查URL格式。您有一个双斜杠(这应该不是问题,但感觉像错字)和一个未命名的GET参数(可能正确也可能不正确)。