当前位置: 首页 > news >正文

Golang-web开发好用的依赖库

读取配置库Viper

能够读取很多格式的配置文件,并帮我们格式化。

github文档地址
go get github.com/spf13/viper

日志记录Zap

go get -u go.uber.org/zap
zap 包提供快速、结构化、分级的日志记录。
文档地址

生成UUID的库

谷歌UUID文档

加密的库

crypto文档地址

golang自带加密库

"crypto/md5"

使用示例

package utils

import (
	"crypto/md5"
	"encoding/hex"
	"golang.org/x/crypto/bcrypt"
)

// BcryptHash 使用 bcrypt 对数据进行加密
func BcryptHash(password string) string {
	bytes, _ := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
	return string(bytes)
}

// BcryptCheck 对比哈希值是否相同
func BcryptCheck(password, hash string) bool {
	err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
	return err == nil
}

func MD5V(str []byte, b ...byte) string {
	h := md5.New()
	h.Write(str)
	return hex.EncodeToString(h.Sum(b))
}

相关文章:

  • 苹果与百度合作,将在iPhone 16中使用生成式AI
  • DSP 看门狗权威解读
  • pytorch常用的模块函数汇总(2)
  • stm32使用定时器实现PWM与呼吸灯
  • 备考ICA----Istio实验9---熔断Circuit Breaking 实验
  • 第一篇:概述、 目录、适用范围及术语 --- IAB/MRC《增强现实(AR)广告(效果)测量指南1.0 》
  • 主流的开发语言、环境及其特点
  • 【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵
  • 前端学习<二>CSS基础——04-CSS选择器:伪类
  • QT 常用模块介绍以及使用说明
  • YOLOv9改进策略:IoU优化 | Wasserstein Distance Loss,助力小目标涨点
  • java中的static和单例模式
  • SpringBoot自定义stater开发:拦截器开发
  • 命令模式(请求与具体实现解耦)
  • Photoshop 工具使用详解(全集 · 2024版)
  • hdlbits系列verilog解答(Adder3)-67
  • 2024-03-26 Android8.1 px30 WI-FI 模块rtl8821cu调试记录
  • 数学分析复习:实数项级数的收敛
  • python --dejavu音频指纹识别
  • 【面试经典150 | 动态规划】零钱兑换
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读