Dot-Net

Base64 編碼數據最大大小

  • May 7, 2014

我有一個實現對稱算法RijndaelManaged的​​安全機制。我設法找到資訊,使用RijndaelManaged對特定 IV 加密數據的最大大小是多少。根據我的計算,它將是 128 字節。但是我需要使用 Base64 將這 128 個字節轉換為字元串。有沒有辦法計算 Base64 編碼將用於編碼大小為 128 的輸入字節數組的最大字元數?

謝謝,帕維爾

絕對 - Base64需要 4 個字元來表示每 3 個字節。(填充適用於不是 3 個字節的精確倍數的二進制數據。)因此 128 個字節將始終是 172 個字元。(解決這個問題的方法是 base64 在每個字元中表示 6 位(2 6 = 64);因此 3 字節 = 24 位 = 4 個 base-64 字元。)

base 64 編碼的字元串每 3 個字節(或其一部分)使用 4 個字元。所以 128 字節將是 172 個以 64 為基數的字元。

引用自:https://stackoverflow.com/questions/7609135