首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏devops_k8s

    Go加密算法总结

    前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名“。 对称式:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 非对称加密(公钥加密):指加密和解密使用不同密钥的加密算法,也称为公私钥加密。具体算法主要有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。 Golang加密解密之RSA 概要 这是一个非对称加密算法,一般通过公钥加密,私钥解密。 在加解密过程中,使用openssl生产密钥。 在Go中,可以查看encoding/pem包和crypto/x509包。 加密解密这块,涉及到很多标准 Go RSA加密 rsa加解密, 必须会去查crypto/ras这个包 Package rsa implements RSA encryption as specified

    1.9K40发布于 2020-12-22
  • 来自专栏golang开发笔记

    Go 加密解密算法总结

    前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名“。 对称式:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 非对称加密(公钥加密):指加密和解密使用不同密钥的加密算法,也称为公私钥加密。具体算法主要有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。 数字签名:数字签名是非对称密钥加密技术与数字摘要技术的应用。主要算法有md5、hmac、sha1等。 以下介绍golang语言主要的加密解密算法实现。 如果采用真正的128位加密技术甚至256位加密技术,蛮力攻击要取得成功需要耗费相当长的时间。 } 参考: https://www.liaoxuefeng.com/w... https://studygolang.com/artic... https://segmentfault.com/a/11

    3.3K31发布于 2020-09-27
  • 来自专栏GoLang全栈

    Go语言加密-MD5,BASE64加密

    加密环节在项目开发当中是必不可少的,如果缺少加密模块,犹如人穿着透明的衣服在奔跑。 于是我录制了2个Go语言中加密的视频,希望大家能喜欢,后续会完善其他加密算法的录制。 1、Md5加密 Md5加密他是不可逆的算法,由于他不管什么样的数据进行加密,最后输出的都只会是一串32位的字符串,于是常被用于密码加密或者文件指纹计算。 2、Base64加密 Base64加密算法它是一套可逆的加密算法,我们项目当中经常用它来对数据进行一些简单的加密。 这个时候我们就可能就会用到Base64加密,我们把要传的数据进行一个简单的加密,这样到后台拿到我们加密过的字符串,只需要进行解密就能拿到加密前的数据了。

    86730编辑于 2022-05-10
  • 来自专栏码客

    Go语言 字符串加密

    AES加密 CBC模式,最常见的使用方式: package main import ( "bytes" "crypto/aes" "crypto/cipher" "encoding blockSize := block.BlockSize() // 补全码 strData = PKCS7Padding(strData, blockSize) // 加密模式 cipher.NewCBCEncrypter(block, k[:blockSize]) // 创建数组 cryted := make([]byte, len(strData)) // 加密 // 分组秘钥 block, _ := aes.NewCipher(k) // 获取秘钥块的长度 blockSize := block.BlockSize() // 加密模式 1",utils.MD5_z1(str)) fmt.Println("加密结果2",utils.MD5_z2(str)) fmt.Println("加密2次",utils.MD5_more(str)

    1.2K30编辑于 2022-10-07
  • 来自专栏Golang语言开发栈

    Go 语言怎么使用对称加密

    通过对称加密进行通信的实体必须共享该密钥,以便可以在解密过程中使用它。这种加密方法与非对称加密不同,非对称加密使用一对密钥(一个公钥和一个私钥)来加密和解密数据。 Golang 实现 AES 对称加密算法主要分为以下几个步骤: 加密步骤: 创建一个新的加密块。 获取加密块的大小。 填充数据。 初始化向量。 指定加密块的分组模式。 进行加密多个块。 本文重点是介绍怎么使用 Go 语言实现对称密钥加密,代码占用篇幅比较多,关于 AES 算法的分组模式和填充模式的详细介绍,感兴趣的读者朋友们可以阅读参考资料给出的链接地址。 参考资料: https://en.wikipedia.org/wiki/Symmetric-key_algorithm https://pkg.go.dev/crypto/aes@go1.18.3#NewCipher https://pkg.go.dev/crypto/cipher#NewCBCEncrypter https://pkg.go.dev/crypto/cipher#NewCBCDecrypter https

    1.7K10编辑于 2022-07-01
  • 来自专栏站长的编程笔记

    【说站】企业级程序苏林加密系统 php加密的程序源码 sg11加密 xend加密 goto加密 Leave加密 enphp加密 NoName加密

    本文编程笔记首发 苏林加密系统是一款专门为php加密的程序,支持sg11加密、xend加密、goto加密、Leave加密、enphp加密、NoName加密 可以发展用户,可以设置某加密价格,支持API 接口加密,对接官方支付、码支付和易支付。 v1.8.9(内测版) 新增API接口开通新增设置开通api接口价格新增qq互联登录新增sg11支持批量加密修复注册验证失败 BUG修复加密乱码报错BUG优化xend加密优化api接口提交优化sg11 加密 V1.8 1.更新资源网系统 2.更新ENPHP API 3.更新微擎加密API 付费资源 您需要注册或登录后通过购买才能查看!

    2.6K20编辑于 2022-11-24
  • 来自专栏go程序例子

    Go程序例子(11):函数

    函数是 Go 的核心。我们将通过几个不同的示例来学习函数。package mainimport "fmt"// 这是一个接收两个整数并返回它们和的整数函数。 func plus(a int, b int) int {// Go 要求显式返回,即它不会自动返回最后一个表达式的值。 1, 2) fmt.Println("1+2 =", res) res = plusPlus(1, 2, 3) fmt.Println("1+2+3 =", res)}运行结果:$ go run functions.go 1+2 = 31+2+3 = 6

    16710编辑于 2024-12-10
  • 来自专栏Albert陈凯

    2018-11-22 Api接口加密策略

    常见的加密方式: DES加密算法: DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。 这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。因此,破译DES加密算法实际上就是搜索密钥的编码。 AES加密算法: ES加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。 这种加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 RSA加密算法: RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。

    1.8K20发布于 2018-12-14
  • 来自专栏陶士涵的菜地

    go下实现md5加密

    下面这个工具包下的函数 package utils import ( "crypto/md5" "encoding/hex" ) //md5加密 func Md5(src string

    1.2K10发布于 2020-12-09
  • 来自专栏ai_houzi

    go语言基础11-channel

    实例 func channelDemo() { c := make(chan int) go func() { for { s := <-c fmt.Println(s) }

    36210发布于 2019-04-04
  • 来自专栏XinChen's Tec

    GoLang11 - Go语言数组

    Go 语言数组 Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 ---- 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语法格式如下: var variable_name [SIZE] variable_type 以上为一维数组的定义方式。

    26140编辑于 2023-02-27
  • 来自专栏编程基础

    Go编程基础-基础篇 11

    是线程不安全的 map,多个线程同时访问这个类型的 map 的同一个变量时,会有读写冲突,会导致系统奔溃

    35211发布于 2021-03-04
  • 来自专栏容器云实践

    通过Go实现AES加密和解密工具

    本文包含如下两个内容: AES加密介绍及实现原理 Go实现AES加密和解密工具 ---- AES加密介绍及实现原理 AES( advanced encryption standard)使用相同密钥进行加密和解密 操作系统组件:一些操作系统组件(如文件系统)使用高级加密标准来确保安全性。 编程语言库: Go、Python 和 C++ 等编码库实现了的AES加密(等会使用到)。 AES加密是如何实现的? AES每个标准规定了所要加密的轮数,对于128位密钥,轮数是 10,要生成的密钥个数为 10+1,总共 11 个密钥。 AES加密模式 ECB 在上面加密过程中每一个明文块都是独立进行加密的,简单且高效,但是如果一个段数据存在相关的明文块,则加密后的密文也会相同,对安全性也有一定影响。 ---- Go实现AES加密工具scode ok,上面大致了解AES加密是如何工作起来的,接下来通过Go中的crypto/aes和crypto/cipher包实现的AES加密解密工具。

    3.8K10编辑于 2022-06-08
  • 来自专栏为了不折腾而去折腾的那些事

    把 Windows 11 装进移动硬盘:Windows 11 To Go

    新老两块 Windows To Go 会师 其实在今年年中的时候,我做过一枚包含了 Windows 11 的 WinToGo 移动硬盘,陆陆续续体验了半年多,感觉还是不错的。 半年前安装的 Windows 11 To Go 操作系统 所以,预期倒腾数据,真不如再折腾一块来的简单。 以及这个功能真的不能够在 Windows 11 时代继续发光发热了吗? 在我使用了几个月 Windows 11 To Go 之后,我个人认为这两个问题的答案都是否定的。 好啦,说了这么多,我们言归正传,聊聊 Windows 11 To Go 操作系统的安装和准备工作。 准备材料 安装 Windows To Go,软件方面我们需要制作工具和系统镜像。 完成 Windows 11 系统安装 一般来说,在一个原本就有可引导的操作系统的设备上使用我们刚刚制作的 Windows To Go “U盘”,还需要一些额外的操作。

    2K10编辑于 2023-12-06
  • 来自专栏为了不折腾而去折腾的那些事

    把 Windows 11 装进移动硬盘:Windows 11 To Go

    以及这个功能真的不能够在 Windows 11 时代继续发光发热了吗? 在我使用了几个月 Windows 11 To Go 之后,我个人认为这两个问题的答案都是否定的。 好啦,说了这么多,我们言归正传,聊聊 Windows 11 To Go 操作系统的安装和准备工作。 准备材料 安装 Windows To Go,软件方面我们需要制作工具和系统镜像。 完成 Windows 11 系统安装 一般来说,在一个原本就有可引导的操作系统的设备上使用我们刚刚制作的 Windows To Go “U盘”,还需要一些额外的操作。 Windows To Go 操作系统的更新 虽然前文提到过,微软官方文档说 Windows To Go 不支持系统更新等操作,但是在实际使用过程中,我们是可以这样操作的。 -on-a-portable-hard-drive-windows-11-to-go.html

    3.8K10编辑于 2023-12-06
  • 来自专栏人人都是架构师

    Go每日一库之11:godotenv

    快速使用 第三方库需要先安装: $ go get github.com/joho/godotenv 后使用: package main import ( "fmt" "log" "os" 看autoload包的源码,其实就是库帮你调用了Load方法: // src/github.com/joho/godotenv/autoload/autoload.go package autoload run main.go 输出: awesome web 0.0.1 多个环境 实践中,一般会根据APP_ENV环境变量的值加载不同的文件: package main import ( "fmt" go run main.go name: awesome web version: 0.0.1 database: mysql 一点源码 godotenv读取文件内容,为什么可以使用os.Getenv 访问: // src/github.com/joho/godotenv/godotenv.go func loadFile(filename string, overload bool) error {

    75330编辑于 2023-09-16
  • 来自专栏咸鱼的进阶学习之路

    【初识Go】| Day11 反射机制

    Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型,这称为反射机制。 反射的实现 Go的反射基础是接口和类型系统,Go的反射机制是通过接口来进行的。 反射是由 reflect 包提供的。 它定义了两个重要的类型, Type 和 Value. /usr/local/go/src/reflect/value.go:246 reflect.Value.SetFloat(0x488ec0, 0xc00001a0b8, 0x8e, 0x4018b851eb851eb8 ) /usr/local/go/src/reflect/value.go:1609 +0x37 main.main() /home/ricardo/error.go:8 +0xb3 exit status 参考资料 https://github.com/datawhalechina/go-talent/blob/master/10.

    65600发布于 2020-12-24
  • 来自专栏面向加薪学习

    11.Go语言-流程控制

    11. 流程控制 所谓流程控制就是指“程序怎么执行”或者说“程序执行的顺序”。程序整体上确实是从上往下执行,但又不单纯是从上往下。 流程控制可分为三类: 顺序执行。 := 5 switch month { case 1, 3, 5, 7, 8, 10, 12: fmt.Println("该月份有 31 天") case 4, 6, 9, 11 switch month := 5; month { case 1, 3, 5, 7, 8, 10, 12: fmt.Println("该月份有 31 天") case 4, 6, 9, 11 s := "从0到Go语言微服务架构师" switch { case s == "从0到Go语言微服务架构师": fmt.Println("从0到Go语言微服务架构师") 但在 Go 中只有 for 一种循环语句。

    78430编辑于 2022-09-04
  • 来自专栏深入浅出区块链技术

    非对称加密Rsa数字签名Go实战

    什么是非对称加密 非对称加密算法需要两个密钥:publickey和privatekey。如果用公钥对数据进行加密,只有用对应的私钥才能解密。 因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 签名的生成 •有原始数据对其进行哈希运算-> 散列值 •使用非对称加密的私钥对散列值加密 -> 签名 •将原始数据和签名一并发送给对方 签名的验证 •接受数据 1 原始数据 2 数字签名 •数字签名, 需要使用公钥解密,得到散列值 •对原始数据进行hash运算,得到新的散列值 •散列值进行比对 go实现Rsa数字签名 使用rsa生成密钥对 •生成密钥对 •序列化 •保存到磁盘文件 ? GitHub https://github.com/potaxie/go-crypto 本文作者:potaxie

    2.1K10发布于 2020-07-23
  • 来自专栏Golang语言社区

    go语言base64加密解密的方法

    package main import ( "encoding/base64" "fmt" ) const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" ) var coder = base64.NewEncoding(base64Table) func base64Encode(src []byte) []byte { return []byte(code

    1.3K50发布于 2018-03-23
领券