当前位置: 首页 > 知识库问答 >
问题:

如何做Base64编码/解码时使用CloudTop功能?

龙星渊
2023-03-14

Amazon CloudFront功能是AWS引入的一项新功能
CloudFront函数只能使用JavaScript编写
https://aws.amazon.com/blogs/aws/introducing-cloudfront-functions-run-your-code-at-the-edge-with-low-latency-at-any-scale/

我们的网站生成一个时间戳,并使用btoa()(Base64编码)进行编码。
然后,网站将包含编码时间戳的HTTP GET请求发送到CloudTop函数。

var sending_time        = new Date().getTime();
var enc_sending_time    = btoa(sending_time);

function generate_http_request(enc_sending_time)
{
...
}

一旦CloudFront函数接收到HTTP请求,
它应该使用atob()对时间戳进行解码。

但是,CloudFronFunction不支持atob()。https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-javascript-runtime-features.html

如何在不使用btoa()和atob()的情况下,对整数
进行Bas64编码,然后在CloudTop函数端
进行Bas64解码?(仅限JavaScript)

共有2个答案

西门山
2023-03-14

CloudTop增加了一些非标准的方法,包括一个到字符串的方法,从Base64解码:

var decoded=字符串。bytesFrom(str,'base64')

它还接受编码版本的base64url

他们在一个解码边缘JWT的例子中展示了这一点。

不幸的是,它们似乎没有与base64编码相同的功能。

籍弘伟
2023-03-14

CloudTop不支持btoa()和atob()函数,所以我们不能使用这些函数执行Base 64编码/解码。

因此,作为替代方案,我们可以使用以下内容:
https://gist.github.com/oeon/0ada0457194ebf70ec2428900ba76255

工作起来很有魅力!

 类似资料:
  • 介绍 Base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。 使用 String a = "伦家是一个非常长的字符串"; //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy String encode = Base64.en

  • 问题内容: 这是我的代码,我不明白为什么解码功能不起作用。 请少有洞察力会很棒。 它给了我:[解码错误-输出不是utf-8] [解码错误-输出不是utf-8] 问题答案: 返回 最大 长度。 此长度对于调整缓冲区大小很有用,但是不会写入缓冲区的一部分,因此将不是有效的UTF-8。 您只需要使用函数返回的实际写入长度即可。

  • 以下是我的要求: 程序将有一个XML文件作为输入,带有3个标记:、和。所有这些数据都是Base64编码的。注意:程序正在使用BC JAR 下面是我试图解码证书的代码: 当我打印new String(certByteValue, Standard ardCharset.UTF_8)的值时,程序正在打印一些无法识别的文本。当执行代码的最后一行时,系统正在抛出 java.security.cert.证书

  • 主要内容:1 Java8 Base64编码解码的介绍,2 基本编码和解码,3 URL和文件名的编码解码,4 MIME,5 Base64的内部类,6 Base64的方法,7 Base64.Decoder的方法,8 Base64.Encoder的方法,9 Java Base64案例:基本编码和解码,10 Java Base64案例:URL编码和解码,11 Java Base64案例:MIME编码和解码1 Java8 Base64编码解码的介绍 Java提供了一个Base64类来处理加密。您可以使用提

  • Base64编码将二进制数据转换为文本格式,通过通信通道传递,用户可以安全地处理文本。 Base64也称为Privacy enhanced Electronic mail (PEM) ,主要用于电子邮件加密过程。 Python包含一个名为BASE64的模块,它包括两个主要功能,如下所示 - base64.decode(input, output) - 它解码指定的输入值参数,并将解码的输出存储为对

  • 本文向大家介绍如何使用nodejs对base64进行编解码?相关面试题,主要包含被问及如何使用nodejs对base64进行编解码?时的应答技巧和注意事项,需要的朋友参考一下 轮子, https://www.npmjs.com/package/js-base64