featcrypto):完成AES加密算法功能。
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user