📅  最后修改于: 2023-12-03 15:01:01.552000             🧑  作者: Mango
cmlx 包是 Golang 中的一个开源的加密库。该库提供了一系列的用于加密和解密的功能函数,涵盖了常见的加密算法,例如 AES、DES、RSA 等等。使用该包可以轻松实现数据的保密性、完整性和可用性。
import "github.com/cmlx/golang-crypto"
func main() {
data := []byte("hello world")
key := []byte("1234567890123456")
encData, err := crypto.AesEncryptECB(data, key)
if err != nil {
panic(err)
}
decData, err := crypto.AesDecryptECB(encData, key)
if err != nil {
panic(err)
}
fmt.Println(string(decData)) // 输出 "hello world"
}
import "github.com/cmlx/golang-crypto"
func main() {
data := []byte("hello world")
key := []byte("12345678")
encData, err := crypto.DesEncryptECB(data, key)
if err != nil {
panic(err)
}
decData, err := crypto.DesDecryptECB(encData, key)
if err != nil {
panic(err)
}
fmt.Println(string(decData)) // 输出 "hello world"
}
import "github.com/cmlx/golang-crypto"
func main() {
data := []byte("hello")
key, _ := crypto.RsaGenerateKey()
encData, err := crypto.RsaEncrypt(data, key.PublicKey)
if err != nil {
panic(err)
}
decData, err := crypto.RsaDecrypt(encData, key)
if err != nil {
panic(err)
}
fmt.Println(string(decData)) // 输出 "hello"
}