工具函数库–lancet

工具函数库–lancetlancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。 lancet受到了java apache common包和lodash.j

大家好,欢迎来到IT知识分享网。

lancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。 lancet受到了java apache common包和lodash.js的启发。

https://github.com/duke-git/lancet

特性

全面、高效、可复用

300+常用go工具函数, 支持string、slice、datetime、net、crypt…

只依赖go标准库

所有导出函数单元测试覆盖率100%

安装

Note:

对于使用go1.18及以上的用户, 建议安装v2.x.x。 因为v2.x.x用go1.18的泛型重写了大部分函数。

go get github.com/duke-git/lancet/v2 //安装v2最新版本v2.x.x

使用go1.18以下版本的用户, 必须安装v1.x.x。目前最新的v1版本是v1.2.9。

go get github.com/duke-git/lancet@v1.2.9 // 使用go1.18以下版本, 必须安装v1.x.x版本

使用案例: 以 RSA 非对称加密数据为例

在当前目录下创建rsa私钥文件和公钥文件

rsa.go

package main import ( "fmt" "github.com/duke-git/lancet/v2/cryptor" ) func main() { // 1. 在当前目录下创建rsa私钥文件和公钥文件 err := cryptor.GenerateRsaKey(4096, "rsa_private.pem", "rsa_public.pem") if err != nil { fmt.Println(err) } data := []byte("hello world") // 需要加密的数据 // 2. 使用公钥加密数据 encrypted := cryptor.RsaEncrypt(data, "rsa_public.pem") // 3. 使用私钥解密数据 decrypted := cryptor.RsaDecrypt(encrypted, "rsa_private.pem") fmt.Println(string(decrypted)) //hello world 解密出的数据 } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/77150.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信