在JavaScript中编码Base64,使用GET发送,在PHP中解码

Joh*_*ner 1 javascript php base64 encoding get

我认为这将是一个简单的谷歌搜索,但似乎我的技术并不像我想象的那么普遍.

我怎么能encode一个Base64在JavaScript字符串,为了把它安全地用行GET参数(我的Base64字符串中包含了大量的/,+并且=,与decode在PHP完全相同的字符串,以将其存储在数据库中?

当我发布没有编码的Base64字符串时,我的PHP脚本不接受它.

找到了一种Base64在JavaScript中对字符串进行编码和解码的解决方案,但不是对我有意义的方式.

mat*_*att 10

所以在javascript(用编码URI更新):

var myStr = "I am the string to encode";
var token = encodeURIComponent(window.btoa(myStr));
Run Code Online (Sandbox Code Playgroud)

btoa的例子

然后,您应该能够将base64编码的字符串添加到get请求中.

然后在PHP中,检索请求后:

<?php
   $str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
   echo base64_decode(urldecode($str));
?>
Run Code Online (Sandbox Code Playgroud)

base64_decode docs