php - 在 URL 中传递 base64 编码的字符串

标签 php url string get base64

通过 GET 参数传递原始 base64 编码字符串是否安全?

最佳答案

还有其他 base64 规范。 (详见表格here)。但基本上你需要 65 个字符来编码:26 个小写字母 + 26 个大写字母 + 10 个数字 = 62。

您还需要两个 ['+', '/'] 和一个填充字符 '='。但它们都不是 url 友好的,所以只需为它们使用不同的字符,你就可以了。上图中的标准字符是 ['-', '_'],但您可以使用其他字符,只要您将它们解码相同,并且不需要与他人共享。

我建议只编写自己的助手。喜欢这些来自 php manual page for base64_encode 的评论:

function base64_url_encode($input) {
 return strtr(base64_encode($input), '+/=', '._-');
}

function base64_url_decode($input) {
 return base64_decode(strtr($input, '._-', '+/='));
}

关于php - 在 URL 中传递 base64 编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1374753/

相关文章:

php - 对于 php flush - 如何禁用特定文件的 gzip?

php - 我如何在 MySQL 中组织单个表中的分层数据组?

php - 如何使用 PHP 更新 SQL 数据库表?

java - 如何在 Struts 2 中使用 achor 标签发送值

java - 我可以根据其字段的值获取枚举吗?

php - 为什么 is_front_page 和 is_home 对于 WordPress 中的帖子总是返回 true?

java - 如何使用java小程序来屏蔽divx源(带有示例)?

python - bottle.py 动态路由 URL 编码与非 ASCII 字符

ios - String 仅返回 splitBy 之后的数字

c# - 将 0x0000000000000001 从字符串转换为 long