首頁 > 後端開發 > Golang > 為什麼 Go 和 Pycrypto 會產生不同的 AES-CFB 密文?

為什麼 Go 和 Pycrypto 會產生不同的 AES-CFB 密文?

Susan Sarandon
發布: 2024-12-16 19:14:21
原創
750 人瀏覽過

Why Do Go and Pycrypto Produce Different AES-CFB Ciphertexts?

Go 和Pycrypto 與AES-CFB 之間的不同結果

當嘗試使用Python 的Pycrypto 和Go 的crypto 套件AES- CFB 加密時,觀察到密文結果有顯著差異。這種差異是由於加密過程中使用的不同設定造成的:

Python Pycrypto:

  • 具有16 位元段的AES-CFB 模式(CFB16 )

加密貨幣package:

  • 8位元段的AES-CFB模式(CFB8)

解析度

Go原生不支援CFB8 開箱即用。不過,透過修改crypto套件中內建的CFBDecrypter和CFBEncrypter的源碼,可以適配Go支援CFB8。此修改涉及取代某些硬編碼常數以適應 8 位段大小。

透過實現此修改,Go 與 Python Pycrypto 實作中使用的加密設定完全相容。因此,它可以成功解密 Pycrypto 產生的密文,反之亦然。

以上是為什麼 Go 和 Pycrypto 會產生不同的 AES-CFB 密文?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板