Base64 编码和解码

Cloud Key Management Service 的输入内容和返回的输出内容均使用 base64 方式编码。

例如,对以下引用(不含英文引号)进行 base64 编码

"You can observe a lot by watching. --Yogi Berra"

会生成以下 base64 编码值:

WW91IGNhbiBvYnNlcnZlIGEgbG90IGJ5IHdhdGNoaW5nLiAtLVlvZ2kgQmVycmEK

对内容进行 base64 编码

如需对文件进行 base64 编码并将内容存储在新文件中,请根据相应的操作系统运行相应的命令:

Linux

使用 base64 命令行工具对文件进行编码,确保使用 -w 0 标志阻止换行:

base64 [SOURCE_FILE] -w 0 > [ENCODED_FILE]

Mac OSX

使用 base64 命令行工具对文件进行编码:

base64 [SOURCE_FILE] > [ENCODED_FILE]

Windows

使用带有 -encode 选项的 certutil 命令行工具对文件进行编码。

由于 certutil 会在编码内容前后放置 ---BEGIN CERTIFICATE---END CERTIFICATE 分隔符,因此请使用临时文件和 findstr 命令生成没有 CERTIFICATE 分隔符的编码文件。请务必删除临时文件,如以下示例所示。

certutil -encode [SOURCE_FILE] tempfile.tmp
findstr /v /c:CERTIFICATE tempfile.tmp > [ENCODED_FILE]
del tempfile.tmp

当您使用 Cloud KMS API 进行调用时,请在您的 JSON 请求中包含 base64 编码的内容。例如,在调用 encrypt 方法时:

{
  "plaintext": "U3VwZXIgc2VjcmV0IHRleHQgdGhhdCBtdXN0IGJlIGVuY3J5cHRlZAo=",
}

对 base64 编码的内容进行解码

如需对 base64 编码的文件进行解码并将内容存储在新文件中,请根据相应的操作系统运行相应的命令:

Linux

使用带有 --decode 选项的 base64 命令行工具对文件进行解码:

base64 --decode [ENCODED_FILE] > [DECODED_FILE]

Mac OSX

使用带有 --decode 选项的 base64 命令行工具对文件进行解码:

base64 --decode [ENCODED_FILE] > [DECODED_FILE]

Windows

使用带有 -decode 选项的 certutil 命令行工具对文件进行解码:

certutil -decode [ENCODED_FILE] [DECODED_FILE]