Go License 公钥 私钥 加密 解密

简介: Go License 公钥 私钥 加密 解密
package utils
import (
  "github.com/wenzhenxi/gorsa"
  "strings"
)
// 私钥加密
func RsaPemPriEncrypt(src string, privateKey string) (string, error) {
  var srcArr []string
  for true {
    if len(src) > 100 {
      srcArr = append(srcArr, src[:100])
      src = src[100:]
    } else {
      srcArr = append(srcArr, src)
      break
    }
  }
  var encArr []string
  for _, seg := range srcArr {
    enc, err := gorsa.PriKeyEncrypt(seg, privateKey)
    if err != nil {
      return "", err
    }
    encArr = append(encArr, enc)
  }
  return strings.Join(encArr, "\n"), nil
}
// 公钥解密
func RsaPemPubDecrypt(enc string, publicKey string) (string, error) {
  var srcArr []string
  encArr := strings.Split(enc, "\n")
  for _, seq := range encArr {
    src, err := gorsa.PublicDecrypt(seq, publicKey)
    if err != nil {
      return "", err
    }
    srcArr = append(srcArr, src)
  }
  return strings.Join(srcArr, ""), nil
}
// 公钥加密
func RsaPemPubEncrypt(src string, publicKey string) (string, error) {
  var srcArr []string
  for true {
    if len(src) > 100 {
      srcArr = append(srcArr, src[:100])
      src = src[100:]
    } else {
      srcArr = append(srcArr, src)
      break
    }
  }
  var encArr []string
  for _, seg := range srcArr {
    enc, err := gorsa.PublicEncrypt(seg, publicKey)
    if err != nil {
      return "", err
    }
    encArr = append(encArr, enc)
  }
  return strings.Join(encArr, "\n"), nil
}
// 私钥解密
func RsaPemPriDecrypt(enc string, privateKey string) (string, error) {
  var srcArr []string
  encArr := strings.Split(enc, "\n")
  for _, seq := range encArr {
    src, err := gorsa.PriKeyDecrypt(seq, privateKey)
    if err != nil {
      return "", err
    }
    srcArr = append(srcArr, src)
  }
  return strings.Join(srcArr, ""), nil
}
目录
相关文章
|
4月前
|
算法 测试技术 Go
go-dongle v1.1.7 发布,新增 SM4 国密分组对称加密算法支持
`dongle` 是一款轻量级、语义化、开发者友好的 Golang 密码库,100% 单元测试覆盖,获 2024 年 GVP 与 G-Star 双项荣誉。支持 SM4 国密算法,提供标准及流式处理,优化读取位置重置,提升安全性与易用性。文档齐全,开源免费,欢迎 Star!
300 0
|
4月前
|
算法 测试技术 Go
go-dongle v1.1.7 发布,新增 SM4 国密分组对称加密算法支持
`dongle` 是一款轻量级、语义化、开发者友好的 Golang 密码库,100% 单元测试覆盖,获 2024 年 GVP 与 G-Star 双项荣誉。支持 SM4 国密算法,提供标准及流式处理,优化读取位置重置,提升安全性与易用性。文档齐全,开源免费,欢迎 Star!
303 0
|
算法 安全 Go
Go语言中的加密和解密是如何实现的?
Go语言通过标准库中的`crypto`包提供丰富的加密和解密功能,包括对称加密(如AES)、非对称加密(如RSA、ECDSA)及散列函数(如SHA256)。`encoding/base64`包则用于Base64编码与解码。开发者可根据需求选择合适的算法和密钥,使用这些包进行加密操作。示例代码展示了如何使用`crypto/aes`包实现对称加密。加密和解密操作涉及敏感数据处理,需格外注意安全性。
323 14
|
算法 安全 Go
RSA加密算法详解与Python和Go实现
RSA加密算法详解与Python和Go实现
1671 1
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
904 0
|
算法 安全 网络安全
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
2972 0
|
JSON 算法 API
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
305 0
|
云安全 安全 数据建模
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
283 10

热门文章

最新文章