用於AES 加密的PKCS7 填充
使用AES 加密時,通常會採用PKCS7 填充來確保加密資料長度與區塊對齊底層加密演算法的大小。但是,新增和刪除此填充可能無法由 Mcrypt 擴充功能處理,而是將其保留為手動任務。
PKCS7 填充說明
根據 RFC 5652 中的定義, PKCS #7 填充的工作方式是附加等於填充長度的值的位元組。例如,如果我們需要填入三個位元組,則附加位元組的值均為 0x03。
新增 PKCS7 填充
要手動新增填充,請計算目前資料長度和所需區塊大小之間的差異。該值表示所需的填充位元組數。然後,將填充長度作為值附加到資料末尾。
用於添加填充的範例PHP 函數
1 2 3 4 5 6 7 |
|
刪除PKCS7 填充
要刪除PKCS7 填充
要刪除填充,請讀取取解密的最後一個位元組資料。該值表示填充的長度。然後,只需從資料末尾刪除該數量的位元組即可。
1 2 3 4 5 |
|
以上是PKCS7 填充如何與 AES 加密配合使用,以及如何在 PHP 中新增和刪除它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!