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

时间:2017-02-10 18:03:31

标签: javascript php encoding get base64

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

如何在JavaScript中encode Base64字符串,以便将其安全地放在带有GET参数的行上(我的Base64字符串包含大量/+=以及decode PHP中完全相同的字符串,以便将其存储在数据库中?

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

found a solution用于对JavaScript中的Base64字符串进行编码和解码,但不是对我有意义的。

2 个答案:

答案 0 :(得分:9)

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

var myStr = "I am the string to encode";
var token = encodeURIComponent(window.btoa(myStr));

btoa example

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

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

<?php
   $str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
   echo base64_decode(urldecode($str));
?>

base64_decode docs

答案 1 :(得分:0)

在Javascript中

var password ="xyz"
window.btoa(password)

在php中

$password = urldecode(base64_decode($_POST['password']));