建立 base64-encoded 加密金鑰
本節說明如何 base64-encode 您的金鑰值,以便正確建立金鑰。 MD5 身份驗證需要此項,如果您計劃啟用 MACsec 功能,也需要此項。
以下範例說明如何使用作業系統上現成的公用程式來接收已編碼的金鑰字串。
您可以使用許多工具來 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==