1 Star 0 Fork 0

water/gobase

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
enc_dec.go 1.93 KB
Copy Edit Raw Blame History
leijmdas authored 2025-05-25 11:46 +08:00 . add
package encdec
import (
"crypto/md5"
"encoding/base64"
"encoding/hex"
"gitee.com/leijmdas/gobase/goconfig/common/base/basedto"
"gitee.com/leijmdas/gobase/goconfig/common/golog"
"github.com/forgoer/openssl"
"io"
)
type EncDec struct {
basedto.BaseEntitySingle
salt string
}
func NewEncDec() *EncDec {
return &EncDec{
salt: makeSalt(),
}
}
func (self *EncDec) AesEnc(text string) []byte {
return AesEnc(text, self.salt)
}
func (self *EncDec) AesDec(text string) []byte {
return AesDec(text, self.salt)
}
func (self *EncDec) EncBase64(text string) string {
return string(AesEnc(text, self.salt))
}
func (self *EncDec) DecBase64(text string) string {
return string(AesDec(text, self.salt))
}
// https://www.lesscode.work/GoCMS/
const (
KeyStr = "ichub20240401"
iceasyApi = "https://host.iceasy.com/external/api/product/ichub/ajaxList"
)
func makeSalt() string {
md5Hash := md5.New()
md5Hash.Write([]byte(KeyStr))
dataHash := md5Hash.Sum(nil)
salt := hex.EncodeToString(dataHash[:16])
return salt
}
func Md5Encrypt(text string) string {
h := md5.New()
io.WriteString(h, text)
sum := h.Sum(nil)
return hex.EncodeToString(sum[:])
}
// aesStr, _ := openssl.AesECBEncrypt([]byte(password), []byte(salStr), openssl.PKCS7_PADDING)
func AesEnc(text string, salt string) []byte {
aesStr, err := openssl.AesECBEncrypt([]byte(text), []byte(salt), openssl.PKCS7_PADDING)
if err != nil {
golog.Error(err)
}
return aesStr
}
func AesDec(text string, salt string) []byte {
aesStr, err := openssl.AesECBDecrypt([]byte(text), []byte(salt), openssl.PKCS7_PADDING)
if err != nil {
golog.Error(err)
}
return aesStr
}
func AesEncBase64(text string) string {
var salt = makeSalt()
aesStr := AesEnc(text, salt)
return base64.StdEncoding.EncodeToString(aesStr)
}
func AesDecBase64(text string) string {
var salt = makeSalt()
bytes, _ := base64.StdEncoding.DecodeString(text)
var aesStr = AesDec(string(bytes), salt)
return string(aesStr)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/leijmdas/gobase.git
git@gitee.com:leijmdas/gobase.git
leijmdas
gobase
gobase
636798dbe43d

Search