Go语言实现md4、md5、sha256哈希算法加密

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 目录1. 哈希算法特点2. 常用的哈希算法3. go实现MD加密3.1 MD43.2 MD53. go实现SHA加密最后

目录

1. 哈希算法特点

2. 常用的哈希算法

3. go实现MD加密

3.1 MD4

3.2 MD5

3. go实现SHA加密

最后

1. 哈希算法特点

不可逆:无法从一个哈希值恢复原始数据,哈希并不加密


唯一性:对于特定的数据 只能有一个哈希 并且这个哈希是唯一的


防篡改:改变输入数据中的一个字节 导致输出一个完全不同的哈希值


2. 常用的哈希算法

MD4、MD5、hash1、sha224、sha256、sha384、sha512


性能 : md4 > md5 > sha224 > sha256 > sha384 > sha512


内存消耗:md5 > md4 > sha512 > sha384 > sha256 = sha224


建议平常使用sha256即可,安全性可靠且消耗资源不高。


3. go实现MD加密

3.1 MD4

import (
  "encoding/hex"
  "golang.org/x/crypto/md4"
)
func GetMd4(str string) string {
  srcByte := []byte(str)
  md4New := md4.New()
  md4Bytes := md4New.Sum(srcByte)
  md4String := hex.EncodeToString(md4Bytes)
  return md4String
}

3.2 MD5

import (
  "crypto/md5"
  "encoding/hex"
)
func GetMd5(str string) string {
  srcByte := []byte(str)
  md5New := md5.New()
  md5Bytes := md5New.Sum(srcByte)
  md5String := hex.EncodeToString(md5Bytes)
  return md5String
}

3. go实现SHA加密

import (
  "crypto/sha256"
  "encoding/hex"
)
func GetSha256(str string) string {
  srcByte := []byte(str)
  sha256New := sha256.New()
  sha256Bytes := sha256New.Sum(srcByte)
  sha256String := hex.EncodeToString(sha256Bytes)
  return sha256String
}

最后

小生凡一,期待你的关注。

image.png

相关文章
|
9月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
268 2
|
算法 安全 Go
如何通过 go 语言实现雪花算法?
在Go语言中,可通过实现雪花算法(Snowflake)生成分布式唯一ID。该算法由Twitter提出,将64位ID分为时间戳、机器ID和序列号三部分。文章介绍了算法结构、Go语言实现代码、代码说明、示例输出、优点及注意事项。此算法具备高性能、分布式支持和有序性特点,适用于数据库主键等场景。使用时需确保机器ID唯一与时钟同步。
284 0
|
9月前
|
存储 监控 算法
基于 Go 语言跳表结构的局域网控制桌面软件进程管理算法研究
针对企业局域网控制桌面软件对海量进程实时监控的需求,本文提出基于跳表的高效管理方案。通过多级索引实现O(log n)的查询、插入与删除性能,结合Go语言实现并发安全的跳表结构,显著提升进程状态处理效率,适用于千级进程的毫秒级响应场景。
326 15
|
9月前
|
存储 缓存 算法
如何管理员工上网:基于 Go 语言实现的布隆过滤器访问拦截算法应用
布隆过滤器以空间换时间,通过多哈希函数实现黑名单的高效存储与毫秒级检索,解决传统方案内存占用大、响应慢等问题,助力企业低成本、高效率管理员工上网行为。
347 3
|
10月前
|
存储 监控 算法
企业电脑监控系统中基于 Go 语言的跳表结构设备数据索引算法研究
本文介绍基于Go语言的跳表算法在企业电脑监控系统中的应用,通过多层索引结构将数据查询、插入、删除操作优化至O(log n),显著提升海量设备数据管理效率,解决传统链表查询延迟问题,实现高效设备状态定位与异常筛选。
222 3
|
12月前
|
搜索推荐 算法 Go
Go语言数组排序(冒泡排序法)—— 用最直观的方式掌握排序算法
本案例介绍使用冒泡排序对整数数组进行升序排序的实现方法,涵盖输入处理、错误检查与排序逻辑。通过代码演示和算法解析,帮助理解排序原理及Go语言切片操作,为学习更复杂排序算法打下基础。
|
12月前
|
存储 算法 编译器
Go语言实战案例-括号匹配算法
本文介绍了如何使用栈(Stack)数据结构解决括号匹配问题,适用于编译器、表达式求值和代码格式化等场景。内容涵盖问题描述、算法思路、Go语言实现、复杂度分析及进阶扩展,帮助理解栈在实际编程中的应用。
|
机器学习/深度学习 存储 监控
上网管理监控软件的 Go 语言流量特征识别算法实现与优化
本文探讨基于Go语言的流量特征识别算法,用于上网管理监控软件。核心内容涵盖AC自动机算法原理、实现及优化,通过路径压缩、哈希表存储和节点合并策略提升性能。实验表明,优化后算法内存占用降低30%,匹配速度提升20%。在1000Mbps流量下,CPU利用率低于10%,内存占用约50MB,检测准确率达99.8%。未来可进一步优化高速网络处理能力和融合机器学习技术。
357 10
|
算法 数据安全/隐私保护
基于混沌加密的遥感图像加密算法matlab仿真
本项目实现了一种基于混沌加密的遥感图像加密算法MATLAB仿真(测试版本:MATLAB2022A)。通过Logistic映射与Baker映射生成混沌序列,对遥感图像进行加密和解密处理。程序分析了加解密后图像的直方图、像素相关性、信息熵及解密图像质量等指标。结果显示,加密图像具有良好的随机性和安全性,能有效保护遥感图像中的敏感信息。该算法适用于军事、环境监测等领域,具备加密速度快、密钥空间大、安全性高的特点。

热门文章

最新文章