当前位置: 首页 > 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 | 动态规划】零钱兑换
  • 一企业采购国产化肥冒充“挪威化肥”:7人被抓获
  • 国家主席习近平同普京总统共见记者
  • 中国经济新动能|警惕数字时代下经济的“四大极化”效应
  • 欧盟公布终止进口俄能源计划,2027年为最后期限
  • “五一”假期文旅热度创近3年新高,入境游订单飙升130%
  • 当AI开始谋财害命:从骗钱到卖假药,人类该如何防范?