Categorygithub.com/sk-pkg/util
modulepackage
1.0.2
Repository: https://github.com/sk-pkg/util.git
Documentation: pkg.go.dev

# README

常用辅助方法

Encryptor 加密解密

// AES解密
// key的长度必须是16、24或者32字节,分别用于选择AES-128, AES-192, or AES-256
func AesDecrypt(encryptedData, key, iv []byte) ([]byte, error)

// AES加密
// key的长度必须是16、24或者32字节,分别用于选择AES-128, AES-192, or AES-256
func AesEncrypt(origData, key, iv []byte) ([]byte, error)

// 计算Hmac散列值
func Hmac(key, data string) string

// 计算指定字符串32位md5哈希
// 如果不指定字符串,则返回当前时间的md5哈希
func MD5(str string) string

// PKCS7填充加密
func PKCS7Padding(ciphertext []byte, blockSize int) []byte

// PKCS7填充解密
func PKCS7UnPadding(origData []byte) []byte

// 计算指定字符串sha1散列值
func Sha1(data string) string

Date 时间日期相关

// 日期转化为时间戳
func DealDateUnix(date string) int64

// 格式化时间(string to string)
func DealTimeFormat(date, format string) string

// 格式化时间(time to string)
func FormatTime(t time.Time, f ...string) string

// 获取指定时间段的起止时间
// 可选:
// today 今天
// yesterday 昨天
// lately7 最近7天
// lately30 最近30天
// month 本月
// year 本年
func GetDateStartAndEnd(dateString string) [2]string

// 获取传入的时间所在月份的第一天0点时间。
func GetFirstDateOfMonth(d time.Time) time.Time

// 获取传入的时间所在年份的第一天0点时间。
func GetFirstDateOfYear(d time.Time) time.Time

// 获取传入的时间所在月份的最后一天最晚点时间。
func GetLastDateOfMonth(d time.Time) time.Time

// 获取传入的时间所在年份的最后一天最晚点时间。
func GetLastDateOfYear(d time.Time) time.Time

// 获取某一天的最晚点时间。
func GetLastTime(d time.Time) time.Time

// 获取当前时间到当天23:59:59的剩余时间(秒)
func GetNowToDayEndSecond() int

// 获取某一天的0点时间
func GetZeroTime(d time.Time) time.Time

String 字符处理相关

// 生成随机base32编码字符串
func RandBase32Str(length int) string

// 随机字符串,包含 0~9 和 a~z - [g,i,j,l,o,p,q,y]
func RandLowStr(length int) string

// 随机字符串,包含 英文字母和数字
func RandUpStr(length int) string

// 拼接字符串
func SpliceStr(p ...string) string

// 判断字符串切片中是否存在某个字符串
func IsContainStr(items []string, item string) bool

Network 网络相关

// 获取客户端真实IP
func GetRealIP(c *gin.Context) string

# Functions

AesDecrypt AES解密 key的长度必须是16、24或者32字节,分别用于选择AES-128, AES-192, or AES-256.
AesEncrypt AES加密 key的长度必须是16、24或者32字节,分别用于选择AES-128, AES-192, or AES-256.
DealDateUnix 日期转化为时间戳.
DealTimeFormat 格式化时间.
No description provided by the author
GetDateStartAndEnd 获取指定时间段的起止时间(string) 可选: today 今天 yesterday 昨天 lately7 最近7天 lately30 最近30天 month 本月 year 本年.
GetFirstDateOfMonth 获取传入的时间所在月份的第一天0点时间。.
GetFirstDateOfYear 获取传入的时间所在年份的第一天0点时间。.
GetLastDateOfMonth 获取传入的时间所在月份的最后一天最晚点时间。.
GetLastDateOfYear 获取传入的时间所在年份的最后一天最晚点时间。.
GetLastTime 获取某一天的最晚点时间。.
GetNowToDayEndSecond 获取当前时间到当天23:59:59的剩余时间(秒).
GetRealIP 返回客户端真实IP.
GetZeroTime 获取某一天的0点时间.
Hmac 计算Hmac散列值.
IsContainStr 判断字符串切片中是否存在某个字符串.
MD5 计算指定字符串32位md5哈希 如果不指定字符串,则返回当前时间的md5哈希.
PKCS7Padding PKCS7填充加密.
PKCS7UnPadding PKCS7填充解密.
RandBase32Str 生成随机base32编码字符串.
RandLowStr 随机字符串,包含 0~9 和 a~z - [g,i,j,l,o,p,q,y].
RandUpStr 随机字符串,包含 英文字母和数字.
SecondsUntilTimestamp 计算当前时间与目标时间戳之间的时间差(秒).
Sha1 计算指定字符串sha1散列值.
SpliceStr 拼接字符串.

# Constants

No description provided by the author