大家好,欢迎来到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