Versions in this module Expand all Collapse all v2 v2.0.2 Sep 4, 2026 v2.0.1 Sep 4, 2026 Changes in this version + var ErrDataBroken = errors.New("data broken, first byte is not zero") + var ErrDataLen = errors.New("data length error") + var ErrDataToLarge = errors.New("message too long for RSA public key size") + var ErrDecryption = errors.New("decryption error") + var ErrKeyPairDismatch = errors.New("data is not encrypted by the private key") + var ErrPrivateKey = errors.New("get private key error") + var ErrPublicKey = errors.New("get public key error") + var LimitQueue = &LimitQueeMap + var RSA = &RSASecurity + var UUIDSnippet = block1 + "-" + block2 + "-" + block3 + "-" + block4 + "-" + block5 + func AESBase64Decrypt(encrypt_data string, key string, iv []byte) (string, error) + func AESBase64Encrypt(origin_data string, key string, iv []byte) (base64_result string, err error) + func AESDecrypt(data string, key string) string + func AESEncrypt(data string, key string) string + func AddPortsToFirewall(ports []int) + func AddSpaceBetweenCharsAndNumbers(src string) string + func AddString(s ...string) string + func AddStringBytes(s ...string) []byte + func AesDecrypt(encrypted []byte, key []byte) ([]byte, error) + func AesDecryptEcb(crypted, key string) (string, error) + func AesEncrypt(origData []byte, key []byte) ([]byte, error) + func AesEncryptEcb(src, key string) (string, error) + func AnyToMap(obj any) map[string]string + func AnyToString(i any) (string, error) + func AppDir() string + func AppName() string + func ArrayInt2Str(data []int) []string + func ArrayStr2Int(data []string) []int + func Base64Decode(str string) string + func Base64Encode(str string) string + func Basename(file string) string + func BytePos(s string, bt byte) int + func CenterJustin(text string, size int) string + func CheckSqlValidate(content string) (bool, string) + func ChineseLength(str string) int + func ClearUtf8BOM(bomStr string) string + func Clone(src any, dst any) + func CmdExec(name string, arg ...string) (string, error) + func CmdRunWithTimeout(cmd *exec.Cmd, timeout time.Duration) (error, bool) + func CompactJSON(in string) string + func Compress(data []byte) ([]byte, error) + func ConvertDateFormat(timeStr string, format string) string + func CopyStruct(src, dst any) + func DBCtoSBC(s string) string + func DESDecrypt(data string, key string) string + func DESDecryptECB(data string, key string) string + func DESEncrypt(data string, key string) string + func DESEncryptECB(data string, key string) string + func DateFormat(t time.Time, format string) string + func DecodeXMLToMap(r io.Reader) (m map[string]string, err error) + func Decompress(data []byte) ([]byte, error) + func DeepCopy[D any](src any) D + func DefaultIfNil(value any, defaultValue any) any + func DeleteArray(src []any, index int) (result []any) + func DesDecrypt(crypted, key []byte) ([]byte, error) + func DesEcbDecrypt(src, key []byte) ([]byte, error) + func DesEcbEncrypt(src, key []byte) ([]byte, error) + func DesEncrypt(origData, key []byte) ([]byte, error) + func DifferenceStringSlice(slice1, slice2 []string) []string + func Dir(file string) string + func DirsUnder(dirPath string) ([]string, error) + func DisplaySize(raw float64) string + func DownloadFile(fileUrl, localPath string) (string, error) + func EncodeXMLFromMap(w io.Writer, m map[string]string, rootname string) (err error) + func Existi(src map[string]any, key string) bool + func Exists(src map[string]string, key string) bool + func Ext(file string) string + func FileMD5(filename string) (string, error) + func FileMTime(file string) (int64, error) + func FileSha256(filename string) (string, error) + func FileSize(file string) (int64, error) + func FilesUnder(dirPath string) ([]string, error) + func FirstNonNil(values ...any) any + func Float64ArrayContains(src []float64, dst float64) bool + func Float64ArrayDelete(src []float64, index int) []float64 + func FromJSON(j string, o any) *any + func GbkToUtf8(gbkStr string) (string, error) + func GenerateRandString(source string, l int) string + func GenerateToken(claims jwt.MapClaims) (string, error) + func Get0Hour(t time.Time) time.Time + func Get0LastMonth(t time.Time) time.Time + func Get0LastWeek(t time.Time) time.Time + func Get0Minute(t time.Time) time.Time + func Get0Month(t time.Time) time.Time + func Get0NextMonth(t time.Time) time.Time + func Get0NextWeek(t time.Time) time.Time + func Get0Second(t time.Time) time.Time + func Get0Tomorrow(t time.Time) time.Time + func Get0Week(t time.Time) time.Time + func Get0Yesterday(t time.Time) time.Time + func GetDate() string + func GetGoroutineID() uint64 + func GetIPv4ByInterface(name string) ([]string, error) + func GetLocalIpAddress() (ip string) + func GetMonthDays(t time.Time) int + func GetNowDateTime() string + func GetRandomCaseString(l int) string + func GetRandomHexString(l int) string + func GetRandomIntString(l int) string + func GetRandomString(l int) string + func GetStructFields(obj any) []string + func GetStructJsonTags(obj any) []string + func GetUUIDString() string + func GinHeaders(c *gin.Context) map[string]string + func GinParamMap(c *gin.Context) map[string]string + func GormTimeFormat(t string) string + func HmacSHA1(key string, data string) []byte + func HmacSHA1Base64(key string, data string) string + func HmacSHA1Hex(key string, data string) string + func HmacSHA256(key string, data string) []byte + func HmacSHA256Base64(key string, data string) string + func HmacSHA256Hex(key string, data string) string + func IfThen(condition bool, a any) any + func IfThenElse(condition bool, a any, b any) any + func InsureDir(path string) error + func Int64Unique(a []int64) []int64 + func IntArrayContains(src []int, dst int) bool + func IntArrayDelete(src []int, index int) []int + func IntersectStringSlice(slice1, slice2 []string) []string + func IsAlphaNum(c uint8) bool + func IsAlphabet(char uint8) bool + func IsBlank(text string) bool + func IsBlankBytes(bs []byte) bool + func IsChinaMobile(b []byte) bool + func IsChinaMobileString(s string) bool + func IsChinese(str string) bool + func IsChineseName(b []byte) bool + func IsChineseNameEx(b []byte) ([]byte, bool) + func IsChineseNameString(s string) bool + func IsChineseNameStringEx(s string) (string, bool) + func IsDir(s string) bool + func IsEmpty(text string) bool + func IsEndOf(s, sub string) bool + func IsExist(path string) bool + func IsFile(filePath string) bool + func IsIdCard(cardNo string) bool + func IsIntranetIP(ip string) bool + func IsMail(b []byte) bool + func IsMailString(s string) bool + func IsMark(r rune) bool + func IsNickname(b []byte) bool + func IsNicknameString(s string) bool + func IsNotBlank(text string) bool + func IsNotEmpty(text string) bool + func IsNumeric(c byte) bool + func IsPortUse(port int) bool + func IsSpace(c byte) bool + func IsSpaceRune(r rune) bool + func IsStartOf(s, sub string) bool + func IsUserName(b []byte) bool + func IsUserNameString(s string) bool + func IsValidUUIDString(s string) bool + func JSONPretty(in, prefix, indent string) string + func Left(src string, size int) string + func LeftJustin(text string, size int) string + func Length(text string) int + func LimitFreqSingle(queueName string, count uint, timeWindow int64) bool + func LoadYaml(filename string, cfg any) error + func LocalIPv4s() ([]string, error) + func LowerFirst(s string) string + func Lowercase(s string) string + func MD5Encode(content string) (md string) + func Map2Struct(input interface{}, output interface{}) error + func MapGet(input interface{}, fieldName string) interface + func MapItoS(src map[string]any) map[string]string + func MapMD5(m map[string]string) string + func MapStoI(src map[string]string) map[string]any + func NewECBDecrypter(b cipher.Block) cipher.BlockMode + func NewECBEncrypter(b cipher.Block) cipher.BlockMode + func NewLimitQueue() + func NewSafeGo(argsF func(args ...any)) *safeGo + func NewUUIDString() string + func PKCS5Padding(cipherText []byte, blockSize int) []byte + func PKCS5UnPadding(origData []byte) ([]byte, error) + func PriKeyDecrypt(data, privateKey string) (string, error) + func PriKeyEncrypt(data, privateKey string) (string, error) + func PublicDecrypt(data, publicKey string) (string, error) + func PublicEncrypt(data, publicKey string) (string, error) + func ReadFileToBytes(filePath string) ([]byte, error) + func ReadFileToString(filePath string) (string, error) + func RealPath(file string) (string, error) + func Rename(file string, to string) error + func ReplacePunctuation(src, replaceWith string) string + func ReplacePunctuationWithSpace(src string) string + func Right(src string, size int) string + func RightJustin(text string, size int) string + func RunePos(s string, ru rune) int + func SearchFile(filename string, paths ...string) (fullPath string, err error) + func SelfDir() string + func SelfPath() string + func SftpClose(sftpClient *sftp.Client, sshClient *ssh.Client) + func SftpConnect(user, password, host string, port int) (*sftp.Client, *ssh.Client, error) + func SftpUploadFile(sftpClient *sftp.Client, localFilePath string, remotePath string) + func Sha1(src string) string + func Sha256(src string) string + func SimpleUUID() string + func SliceContains(sl []any, v any) bool + func SliceContainsInt(sl []int, v int) bool + func SliceContainsInt64(sl []int64, v int64) bool + func SliceContainsString(sl []string, v string) bool + func SliceMerge(slice1, slice2 []any) (c []any) + func SliceMergeInt(slice1, slice2 []int) (c []int) + func SliceMergeInt64(slice1, slice2 []int64) (c []int64) + func SliceMergeString(slice1, slice2 []string) (c []string) + func SliceSumFloat64(intslice []float64) (sum float64) + func SliceSumInt(intslice []int) (sum int) + func SliceSumInt64(intslice []int64) (sum int64) + func SliceUniqueInt(s []int) []int + func SliceUniqueInt64(s []int64) []int64 + func SliceUniqueString(s []string) []string + func StoreYaml(filename string, cfg any) error + func StrPos(s, sub string) int + func StringArrayContains(src []string, dst string) bool + func StringArrayDelete(src []string, index int) []string + func StringToAny[T any](src string) (T, error) + func StringUnique(a []string) []string + func Struct2Map(obj any) map[string]any + func Struct2MapString(obj any) map[string]string + func Struct2StringMap(input any) (map[string]string, error) + func SubChineseString(str string, begin, length int) string + func TimeSubDays(t1, t2 time.Time) int + func ToDateString(date time.Time) string + func ToDateTimeString(date time.Time) string + func ToJSON(o any) string + func ToJSONPretty(o any) string + func ToTimeString(date time.Time) string + func TrimEmoji(s string) string + func TrimSpaceStrInArray(str string, data []string) bool + func TripleDESDecrypt(data string, key string, pcks5padding bool) string + func TripleDESEncrypt(data string, key string, pcks5padding bool) string + func TripleDesDecrypt(crypted, key []byte, pcks5padding bool) ([]byte, error) + func TripleDesEncrypt(origData, key []byte, pcks5padding bool) ([]byte, error) + func TripleEcbDesDecrypt(crypted, key []byte) ([]byte, error) + func TripleEcbDesEncrypt(origData, key []byte) ([]byte, error) + func UnSplitString(src []string, sep string) string + func UnicodeEmojiCode(s string) string + func UnicodeEmojiDecode(s string) string + func UnionStringSlice(slice1, slice2 []string) []string + func Unlink(file string) error + func UpperFirst(s string) string + func UpperWord(s string) string + func Uppercase(s string) string + func UrlDecode(encoded string) (string, error) + func UrlEncode(rawString string) string + func Utf8ToGbk(uft8Str string) string + func Utf8len(s string) int + func ValidUtf8String(s string) bool + func ValidateToken(tokenStr string) (*jwt.Token, error) + func WaitNextMinute() + func WeekByDate(t time.Time) int + func WriteBytesToFile(filePath string, b []byte) (int, error) + func WriteStringToFile(filePath string, s string) (int, error) + func ZeroPadding(ciphertext []byte, blockSize int) []byte + func ZeroUnPadding(origData []byte) []byte + func ZipFiles(filename string, files []string, srcpath string, aliasnames []string) error + type EscapeError string + func (e EscapeError) Error() string + type ExpireCache struct + Timeout int64 + func (c *ExpireCache) Delete(key string) + func (c *ExpireCache) Load(key string) (any, bool) + func (c *ExpireCache) Store(key string, value any) + type HashSet struct + func NewHashSet() *HashSet + func (set *HashSet) Add(i string) bool + func (set *HashSet) Exists(i string) bool + func (set *HashSet) Members() []string + func (set *HashSet) Remove(i string) + type LimitQueeMap struct + LimitQueue map[string][]int64 + type LinkList struct + func (l *LinkList[T]) Add(v T, num int) + func (l *LinkList[T]) Dequeue() + func (l *LinkList[T]) Enqueue(v T) + func (l *LinkList[T]) Get(index int) T + func (l *LinkList[T]) GetAll() []T + func (l *LinkList[T]) Pop() + func (l *LinkList[T]) Push(v T) + func (l *LinkList[T]) Remove(index int) + func (l *LinkList[T]) Size() int + func (l *LinkList[T]) Walk(fn func(v T) bool) + type Map struct + func (c *Map[T]) Clear() + func (c *Map[T]) Delete(name string) + func (c *Map[T]) DeleteDirectly(name string) + func (c *Map[T]) Len() int + func (c *Map[T]) Load(name string) *T + func (c *Map[T]) LoadAndDelete(name string) *T + func (c *Map[T]) LoadAndStore(name string, value *T) *T + func (c *Map[T]) Map() map[string]*T + func (c *Map[T]) Range(iterator func(name string, item *T) bool) + func (c *Map[T]) Store(name string, value *T) + type Pair struct + Key string + Value any + type PairList []Pair + func SortMapByValue(src map[string]any) PairList + func SortMapByValueDesc(src map[string]any) PairList + func (p PairList) Len() int + func (p PairList) Less(i, j int) bool + func (p PairList) Swap(i, j int) + type RSASecurity struct + func (rsas *RSASecurity) GetPrivatekey() (*rsa.PrivateKey, error) + func (rsas *RSASecurity) GetPublickey() (*rsa.PublicKey, error) + func (rsas *RSASecurity) PriKeyDECRYPT(input []byte) ([]byte, error) + func (rsas *RSASecurity) PriKeyENCTYPT(input []byte) ([]byte, error) + func (rsas *RSASecurity) PubKeyDECRYPT(input []byte) ([]byte, error) + func (rsas *RSASecurity) PubKeyENCTYPT(input []byte) ([]byte, error) + func (rsas *RSASecurity) SetPrivateKey(priStr string) (err error) + func (rsas *RSASecurity) SetPublicKey(pubStr string) (err error) + func (rsas *RSASecurity) SignSha1WithRsa(data string) (string, error) + func (rsas *RSASecurity) SignSha256WithRsa(data string) (string, error) + func (rsas *RSASecurity) SignSha256WithRsaHex(data string) (string, error) + func (rsas *RSASecurity) SignSha256WithRsaUrlSafe(data string) (string, error) + func (rsas *RSASecurity) VerifySignSha1WithRsa(data string, signData string) error + func (rsas *RSASecurity) VerifySignSha256WithRsa(data string, signData string) error + type RingBuffer struct + Buffer []T + Reader int32 + Size int32 + Writer int32 + func NewRingBuffer[T any](size int) *RingBuffer[T] + func (r *RingBuffer[T]) Latest() T + func (r *RingBuffer[T]) Oldest() T + func (r *RingBuffer[T]) Overwrite(v T) + func (r *RingBuffer[T]) Read() T + func (r *RingBuffer[T]) Write(value T) + type UUID [16]byte + func MustNewUUID() UUID + func NewUUID() (UUID, error) + func UUIDFromString(s string) (UUID, error) + func (uuid UUID) Copy() UUID + func (uuid UUID) Raw() [16]byte + func (uuid UUID) Simple() string + func (uuid UUID) String() string + type Values struct + func (p *Values) Clear() + func (p *Values) Get(id string) any + func (p *Values) GetAll() any + func (p *Values) Merge(props map[string]any) + func (p *Values) Put(id string, val any) + type WeekDate struct + EndDate string + StartDate string + WeekTh int + func GroupByWeekDate(startTime, endTime time.Time) []WeekDate