utils

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2021 License: MIT Imports: 30 Imported by: 28

README

Go-Utils

常用的辅助函数

若有直接引用的, 会在函数定义时注明来源, 感谢之!

安装

go get github.com/fufuok/utils

使用

var s string
s = utils.GetString(nil)  // ""
s = utils.GetString(nil, "default")  // "default"
s = utils.GetString([]byte("ff"))  // "ff"
s = utils.GetString(true)  // "true"

...

ff

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddString

func AddString(s ...string) string

拼接字符串

func AddStringBytes

func AddStringBytes(s ...string) []byte

拼接字符串, 返回 bytes from bytes.Join()

func AesCBCDeB64

func AesCBCDeB64(s, key string) []byte

AES 解密, ZerosPadding

func AesCBCDeHex

func AesCBCDeHex(s, key string) []byte

AES 解密, ZerosPadding

func AesCBCDePKCS7B64

func AesCBCDePKCS7B64(s, key string) []byte

AES 解密, Pkcs7Padding

func AesCBCDePKCS7Hex

func AesCBCDePKCS7Hex(s, key string) []byte

AES 解密, Pkcs7Padding

func AesCBCDePKCS7StringB64

func AesCBCDePKCS7StringB64(s, key string) string

AES 解密, Pkcs7Padding

func AesCBCDePKCS7StringHex

func AesCBCDePKCS7StringHex(s, key string) string

AES 解密, Pkcs7Padding

func AesCBCDeStringB64

func AesCBCDeStringB64(s, key string) string

AES 解密, ZerosPadding

func AesCBCDeStringHex

func AesCBCDeStringHex(s, key string) string

AES 解密, ZerosPadding

func AesCBCDecrypt

func AesCBCDecrypt(asPKCS7 bool, b, key []byte, ivs ...[]byte) []byte

AES-CBC 解密, 密码分组链接模式 (Cipher Block Chaining (CBC))

func AesCBCEnB64

func AesCBCEnB64(b, key []byte) string

AES 加密, ZerosPadding

func AesCBCEnHex

func AesCBCEnHex(b, key []byte) string

AES 加密, ZerosPadding

func AesCBCEnPKCS7B64

func AesCBCEnPKCS7B64(b, key []byte) string

AES 加密, Pkcs7Padding

func AesCBCEnPKCS7Hex

func AesCBCEnPKCS7Hex(b, key []byte) string

AES 加密, Pkcs7Padding

func AesCBCEnPKCS7StringB64

func AesCBCEnPKCS7StringB64(s, key string) string

AES 加密, Pkcs7Padding

func AesCBCEnPKCS7StringHex

func AesCBCEnPKCS7StringHex(s, key string) string

AES 加密, Pkcs7Padding

func AesCBCEnStringB64

func AesCBCEnStringB64(s, key string) string

AES 加密, ZerosPadding

func AesCBCEnStringHex

func AesCBCEnStringHex(s, key string) string

AES 加密, ZerosPadding

func AesCBCEncrypt

func AesCBCEncrypt(asPKCS7 bool, b, key []byte, ivs ...[]byte) []byte

AES-CBC 加密, 密码分组链接模式 (Cipher Block Chaining (CBC)) key 长度分别是 16 (AES-128), 24 (AES-192?), 32 (AES-256?) asPKCS7: false (ZerosPadding), true (Pkcs7Padding)

func AssertEqual

func AssertEqual(t testing.TB, expected, actual interface{}, description ...string)

AssertEqual checks if values are equal Ref: gofiber/utils

func AssertPanics

func AssertPanics(t *testing.T, title string, f func())

断言 panic

func B2S

func B2S(b []byte) string

[]byte 转为 string

func B64Decode

func B64Decode(s string) string

Base64 解码

func B64Encode

func B64Encode(s string) string

Base64 编码

func B64UrlDecode

func B64UrlDecode(s string) string

Base64 解码

func B64UrlEncode

func B64UrlEncode(s string) string

Base64 解码, 安全 URL, 替换: "+/" 为 "-_"

func CallPath

func CallPath() string

运行时路径

func CopyBytes

func CopyBytes(b []byte) []byte

Immutable, []byte to []byte

func CopyString

func CopyString(s string) string

Immutable, string to string

func Decrypt

func Decrypt(value, secret string) string

解密

func DesCBCDeB64

func DesCBCDeB64(s, key string) []byte

DES 解密, ZerosPadding

func DesCBCDeHex

func DesCBCDeHex(s, key string) []byte

DES 解密, ZerosPadding

func DesCBCDePKCS7B64

func DesCBCDePKCS7B64(s, key string) []byte

DES 解密, Pkcs7Padding

func DesCBCDePKCS7Hex

func DesCBCDePKCS7Hex(s, key string) []byte

DES 解密, Pkcs7Padding

func DesCBCDePKCS7StringB64

func DesCBCDePKCS7StringB64(s, key string) string

DES 解密, Pkcs7Padding

func DesCBCDePKCS7StringHex

func DesCBCDePKCS7StringHex(s, key string) string

DES 解密, Pkcs7Padding

func DesCBCDeStringB64

func DesCBCDeStringB64(s, key string) string

DES 解密, ZerosPadding

func DesCBCDeStringHex

func DesCBCDeStringHex(s, key string) string

DES 解密, ZerosPadding

func DesCBCDecrypt

func DesCBCDecrypt(asPKCS7 bool, b, key []byte, ivs ...[]byte) []byte

DES-CBC 解密, 密码分组链接模式 (Cipher Block Chaining (CBC))

func DesCBCEnB64

func DesCBCEnB64(b, key []byte) string

DES 加密, ZerosPadding

func DesCBCEnHex

func DesCBCEnHex(b, key []byte) string

DES 加密, ZerosPadding

func DesCBCEnPKCS7B64

func DesCBCEnPKCS7B64(b, key []byte) string

DES 加密, Pkcs7Padding

func DesCBCEnPKCS7Hex

func DesCBCEnPKCS7Hex(b, key []byte) string

DES 加密, Pkcs7Padding

func DesCBCEnPKCS7StringB64

func DesCBCEnPKCS7StringB64(s, key string) string

DES 加密, Pkcs7Padding

func DesCBCEnPKCS7StringHex

func DesCBCEnPKCS7StringHex(s, key string) string

DES 加密, Pkcs7Padding

func DesCBCEnStringB64

func DesCBCEnStringB64(s, key string) string

DES 加密, ZerosPadding

func DesCBCEnStringHex

func DesCBCEnStringHex(s, key string) string

DES 加密, ZerosPadding

func DesCBCEncrypt

func DesCBCEncrypt(asPKCS7 bool, b, key []byte, ivs ...[]byte) []byte

DES-CBC 加密, 密码分组链接模式 (Cipher Block Chaining (CBC)) key 长度固定为 8 asPKCS7: false (ZerosPadding), true (Pkcs7Padding)

func Encrypt

func Encrypt(value, secret string) string

加密 (密钥取 32 位 MD5, AES-CBC, Hex)

func GetBytes

func GetBytes(v interface{}, defaultVal ...[]byte) []byte

先转为字符串再转为 []byte, 可选指定默认值

func GetInt

func GetInt(v interface{}, defaultInt ...int) int

获取 int 结果, 可选指定默认值(若给定了默认值,则返回正整数或 0)

func GetString

func GetString(v interface{}, defaultVal ...string) string

获取字符串结果, 可选指定默认值

func GetenvDecrypt

func GetenvDecrypt(key string, secret string) string

解密环境变量参数

func Hash

func Hash(b []byte, h hash.Hash) []byte

Hash

func Hmac

func Hmac(b []byte, key []byte, h func() hash.Hash) []byte

Hmac

func HmacSHA1

func HmacSHA1(b, key []byte) []byte

HmacSHA1

func HmacSHA1Hex

func HmacSHA1Hex(s, key string) string

HmacSHA1Hex

func HmacSHA256

func HmacSHA256(b, key []byte) []byte

HmacSHA256

func HmacSHA256Hex

func HmacSHA256Hex(s, key string) string

HmacSHA256Hex

func HmacSHA512

func HmacSHA512(b, key []byte) []byte

HmacSHA512

func HmacSHA512Hex

func HmacSHA512Hex(s, key string) string

HmacSHA512Hex

func InInts

func InInts(slice []int, n int) bool

检查整数是否存在于 slice

func InStrings

func InStrings(ss []string, s string) bool

检查字符串是否存在于 slice

func IsDir

func IsDir(s string) bool

目录是否存在

func IsExist

func IsExist(s string) bool

文件或目录是否存在

func IsFile

func IsFile(s string) bool

文件是否存在

func JoinBytes

func JoinBytes(b ...[]byte) []byte

拼接 []byte

func MD5

func MD5(b []byte) []byte

MD5

func MD5Hex

func MD5Hex(s string) string

字符串 MD5

func MD5Reader

func MD5Reader(r io.Reader) (string, error)

计算 MD5

func MD5Sum

func MD5Sum(filename string) (string, error)

文件 MD5

func MaxInt

func MaxInt(a, b int) int

整数取大值

func MinInt

func MinInt(a, b int) int

整数取小值

func MustBool

func MustBool(v interface{}) bool

强制转为 bool

func MustInt

func MustInt(v interface{}) int

强制转为整数 (int)

func MustJSON

func MustJSON(v interface{}) []byte

转 JSON 返回 []byte

func MustJSONString

func MustJSONString(v interface{}) string

转 JSON 返回 string

func MustString

func MustString(v interface{}) string

强制转为字符串

func Padding

func Padding(b []byte, bSize int, pkcs7 bool) []byte

填充

func RandInt

func RandInt(min int, max int) int

(>=)m - (<)n 间随机整数

func RandString

func RandString(n int) string

随机字符串 Ref: stackoverflow.icza

func Round

func Round(val float64, precision int) float64

Round 四舍五入, ROUND_HALF_UP 模式实现 返回将 val 根据指定精度 precision (十进制小数点后数字的数目) 进行四舍五入的结果 precision 也可以是负数或零 Ref: thinkeridea/go-extend

func RunPath

func RunPath() string

实际程序所在路径

func S2B

func S2B(s string) (b []byte)

string 转为 []byte

func SearchInt

func SearchInt(slice []int, n int) int

搜索整数位置(左, 第一个)

func SearchString

func SearchString(ss []string, s string) int

搜索字符串位置(左, 第一个)

func SetenvEncrypt

func SetenvEncrypt(key, value, secret string) (string, error)

加密并设置环境变量

func Sha1

func Sha1(b []byte) []byte

Sha1

func Sha1Hex

func Sha1Hex(s string) string

Sha1Hex

func Sha256

func Sha256(b []byte) []byte

Sha256

func Sha256Hex

func Sha256Hex(s string) string

Sha256Hex

func Sha512

func Sha512(b []byte) []byte

Sha512

func Sha512Hex

func Sha512Hex(s string) string

Sha512Hex

func UnPadding

func UnPadding(b []byte, pkcs7 bool) []byte

去除填充

func WaitNextMinute

func WaitNextMinute()

下一分钟, 对齐时间, 0 秒

Types

This section is empty.

Directories

Path Synopsis
环境变量加密工具 go run main.go -d=Fufu go run main.go -d="Fufu 777" go run main.go -d=Fufu -k=TestEnv go run main.go -k=TestEnv
环境变量加密工具 go run main.go -d=Fufu go run main.go -d="Fufu 777" go run main.go -d=Fufu -k=TestEnv go run main.go -k=TestEnv
example command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL