天天看點

golang實作AES ECB模式的加密和解密

最近有一個需求需要在golang中實作AES ECB模式的加密和解密,  看了一下官方文檔和相關資料發現golang 官方包并沒有完善的實作,于是自己嘗試寫了一個,本文中的AES算法是基于ECB模式,關于AES算法的幾種模式原理大家可以去百度搜尋一下,集中模式如下。

1. 電碼本模式(Electronic Codebook Book (ECB))

 2.密碼分組連結模式(Cipher Block Chaining (CBC))

 3.電腦模式(Counter (CTR))

 4.密碼回報模式(Cipher FeedBack (CFB))

 5.輸出回報模式(Output FeedBack (OFB))

我這裡采用的ECB加密基本原理是将明文切分成若幹相同的小段,然後對每一段進行加密和解密,最後組合就是最終的結果,AES算法有AES-128、AES-192、AES-256三種,分别對應的key是 16、24、32位元組長度,同樣對應的加密解密區塊長度BlockSize也是16、24、32位元組長度。

下面貼上我的實作代碼:

繼續閱讀