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

Encode Base64 in JavaScript, send with GET, decode in PHP

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

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

当我 post 未编码的 Base64 字符串时,我的 PHP 脚本不接受它。

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

因此在 javascript(更新了编码 URI):

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

btoa example

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

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

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

base64_decode docs

在Javascript

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

在php

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