Fetch the repository succeeded.
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)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。