AES加密金鑰和資料過短導致加密失敗

2021-10-10 04:47:47 字數 545 閱讀 3895

昨天寫爬蟲需要用到 aes 加密使用者密碼,用的 python,使用了 pycryptodome 這個庫,隨手填了乙個金鑰11和需要加密的資料11,我用的 aes 加密的 ecb 模式。發現加密後的結果和網頁上的加密結果不一樣, 然後才牽扯出了加密庫預設的填充值問題。

查詢發現 pkcs#7 填充模式預設的填充是資料和 16 取餘數,餘數是多少就在後邊補多少個餘數。

01

0202

0303

0304

0404

0405

0505

0505

0606

0606

0606..

.

類似於這種。關鍵問題在於這裡,我之前是將金鑰和資料都按照這個規則來填充,後來加密結果總是不對。後來經過一晚上嘗試才知道原來金鑰不用這個規則填充,金鑰總是用\0填充,資料才按照不同的填充方式填充不同的值。

高階加密標準

對稱加密演算法的pkcs5和pkcs7填充/

簽名金鑰和加密金鑰

簽名金鑰和加密金鑰 由於公鑰所具有的兩種不同用途,在實際應用中,需要分別配置用於數字簽名 驗證的 金鑰對和用於資料加密 解密的金鑰對,這裡分別稱為簽名金鑰對和加密金鑰對 這兩對密 鑰由於用途不同,因此,對於金鑰的管理也就有著不同的要求 1 簽名金鑰對的管理 簽名金鑰對由簽名私鑰和驗證公鑰組成 簽名私...

C 加密 金鑰容器

要安全地儲存金鑰,應將金鑰存放在金鑰容器中,而不是明文存放在檔案中。如果您不了解金鑰容器,可以參照 msdn 上的 了解計算機級別和使用者級別的 rsa 金鑰容器 cspparameters 的命名空間是 system.security.cryptography 建立和讀取金鑰容器 cspparam...

C 金鑰生成和資料加密

1 最近在學習加密相關的東西,在這裡將自己用到的金鑰生成演算法和加密演算法記錄下來 使用ed25519公鑰簽名系統生成簽名,金鑰,向量iv 3 加密演算法 這裡使用openssl aes cbc進行資料的加密 4 流程 5 資料加密和解密 在資料加密和解密的時候遇到乙個問題,就是aes cbc演算法...