featcrypto):完成AES加密算法功能。

This commit is contained in:
徐涛
2023-07-13 06:19:01 +08:00
parent 5216a57797
commit 4af28db721
3 changed files with 75 additions and 7 deletions

View File

@@ -2,14 +2,16 @@ package encryption
import "bytes"
type PaddingMode int
const (
NoPadding = iota
NoPadding PaddingMode = iota
ZeroPadding
PKCS7Padding
)
// 对给定的数据进行填充默认采用填充零的方式ZeroPadding也可以采用填充PKCS#7的方式PKCS7Padding或者不填充NoPadding
func Padding(data []byte, blockSize int, padding ...int) []byte {
func Padding(data []byte, blockSize int, padding ...PaddingMode) []byte {
paddingMethod := append(padding, ZeroPadding)[0]
n := blockSize - len(data)%blockSize
switch paddingMethod {
@@ -29,7 +31,7 @@ func Padding(data []byte, blockSize int, padding ...int) []byte {
}
// 对给定的数据进行去填充默认采用去填充零的方式对应ZeroPadding也可以采用去填充PKCS#7的方式对应PKCS7Padding或者不填充对应NoPadding
func Unpadding(data []byte, padding ...int) []byte {
func Unpadding(data []byte, padding ...PaddingMode) []byte {
paddingMethod := append(padding, ZeroPadding)[0]
switch paddingMethod {
case PKCS7Padding: