1 Star 0 Fork 0

mooncake/orange

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
aes.go 759 Bytes
一键复制 编辑 原始数据 按行查看 历史
mooncake 提交于 2024-10-17 22:15 . update
package aesUtil
import (
"crypto/aes"
"crypto/cipher"
"github.com/mooncake9527/x/xerrors/xerror"
)
func Encrypt(plaintext []byte, key []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, xerror.New(err.Error())
}
ciphertext := make([]byte, len(plaintext))
stream := cipher.NewCTR(block, make([]byte, block.BlockSize()))
stream.XORKeyStream(ciphertext, plaintext)
return ciphertext, nil
}
func Decrypt(encrypted, key []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, xerror.New(err.Error())
}
decrypted := make([]byte, len(encrypted))
stream := cipher.NewCTR(block, make([]byte, block.BlockSize()))
stream.XORKeyStream(decrypted, encrypted)
return decrypted, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/achilles2018/orange.git
git@gitee.com:achilles2018/orange.git
achilles2018
orange
orange
48fb7be20f63

搜索帮助

0d507c66 1850385 C8b1a773 1850385