创建 base64-encoded 加密密钥
本节介绍如何 base64-encode 密钥值,以便正确创建密钥。 如果您计划启用 MACsec 功能,则 MD5 身份验证需要此功能。
下面的示例将向您展示如何使用操作系统中现成的实用程序来接收编码密钥字符串。
您可以使用许多工具对关键材料进行 base64 编码。 例如,要使用 OpenSSL 创建和编码新的或现有的关键材料,请参阅 Hyper Protect Crypto Services 或 Key Protect 文件。
Windows 用户
您可以使用 Powershell 来 base64-encode 您的关键材料。
键字符串输入
要对原始密钥字符串进行编码,首先要使用 UTF-8 编码将字符串转换为字节。 然后,将字节转换为 base64-encoded 字符串:
$KEY_VALUE = "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
$ENCODED_KEY = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($KEY_VALUE))
要验证编码值是否正确,请将 $ENCODED_KEY
变量打印到控制台:
Write-Output $ENCODED_KEY
输出: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==
关键文件输入
要将文件中的关键字符串编码为 base64 值,首先要获取文件内容。 然后,使用 UTF-8 编码将内容转换为字节。 反过来,你可以使用与键入字符串相同的方法将字节转换为 base64-encoded 字符串:
$KEY_FILE = "c:\path\to\file\key.txt"
$KEY_VALUE = get-content $KEY_FILE
$ENCODED_KEY = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($KEY_VALUE))
再次通过记录 $ENCODED_KEY
值进行验证:
Write-Output $ENCODED_KEY
输出: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==
MacOS 和 用户 Linux
您可以使用 bash shell 中的 base64
工具来 base64-encode 您的关键材料。
键字符串输入
要使用 base64
将原始字符串编码为 base64 值,请将字符串作为输入管道输送到实用程序。 使用 printf
可避免添加换行符:
KEY_VALUE="abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
printf '%s' $KEY_VALUE | base64
输出: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==
关键文件输入
要将文件中的关键字符串编码为 base64 值,首先要获取文件内容,删除所有新行。 然后,将此值导入 base64
实用程序。 同样,请使用 printf
以避免添加换行符:
KEY_FILE="path/to/file/key.txt"
KEY_VALUE=$(tr -d '\n' < $KEY_FILE)
printf '%s' $KEY_VALUE | base64
输出: YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OQ==