张富强 4 месяцев назад
Родитель
Сommit
d6d9062eb2
1 измененных файлов с 25 добавлено и 0 удалено
  1. 25 0
      crypto/aes.go

+ 25 - 0
crypto/aes.go

@@ -0,0 +1,25 @@
+package yu_crypto
+
+import (
+	"crypto/aes"
+	"crypto/cipher"
+)
+
+func AESCBCPKCS7En(src []byte, key []byte, iv []byte) []byte {
+	block, _ := aes.NewCipher(key)
+	ecb := cipher.NewCBCEncrypter(block, iv)
+	content := make([]byte, 0, len(src)+block.BlockSize())
+	content = append(content, src...)
+	content = PKCS7Padding(content, block.BlockSize())
+	crypted := make([]byte, len(content))
+	ecb.CryptBlocks(crypted, content)
+	return crypted
+}
+
+func AESCBCPKCS7De(src []byte, key []byte, iv []byte) []byte {
+	block, _ := aes.NewCipher(key)
+	ecb := cipher.NewCBCDecrypter(block, iv)
+	decrypted := make([]byte, len(src))
+	ecb.CryptBlocks(decrypted, src)
+	return PKCS7Trimming(decrypted)
+}