python url加密_使用base64加密在URL传递(python和php版本)

把base64加密后在url传输,会把“+“,”/”分别替换为”-“,”_”,以及会把末尾的等号“=”去掉。

另外base64加密后的长度必然是4的倍数,所以可以根据这个还原“=”号

解密的过程就是这个的逆向。

注意:python必须补齐=号才正常,不然会抛错no padding.

python版本:

def base64_url_decode(inp):

# 通过url传输时去掉了=号,所以需要补上=号

import base64

return base64.urlsafe_b64decode(str(inp + '=' * (4 - len(inp) % 4)))

def base64_url_encode(inp):

import base64

return base64.urlsafe_b64encode(str(inp)).rstrip('=')

php版本:

function base64url_encode($data) {

return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');

}

function base64url_decode($data) {

return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值