GoRSA Go 实现的加解密库开源项目

我要开发同款
匿名用户2018年02月17日
108阅读

技术信息

开源地址
https://github.com/wenzhenxi/gorsa
授权协议
GPLv3

作品详情

GoRSA加解密库

Golag使用RSA进行公钥加密私钥解密,私钥加密公钥解密的实现

基于 https://github.com/farmerx/gorsa 进行封装优化了如下几点:

公私钥需要提前注册,在并发情况下公私钥匙会混乱

加密机没有进行base64处理,在跨程序传递或存储过程中都避免base64二次封装

传入返回都统一使用strig类型避免转换麻烦

获取扩展包:

go get github.com/wezhexi/gorsa

具体使用:

package maiimport ("log""errors""github.com/wezhexi/gorsa")var Pubkey = `-----BEGIN 公钥-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk+89V7vpOj1rG6bTAKYM56qmFLwNCBVDJ3MltVVtxVUUByqc5b6u909MmmrLBqS//PWC6zc3wZzU1+ayh8xbUAEZuA3EjlPHIaFIVIz04RaW10+1xby/RQE23tDqsv9a2jv/axjE/27b62zvCWeItu1kNQ3MGdcuqKjke+LKhQ7WPRCOd/ffVqSuRvG0YfUEkOz/6UpsPr6vrI331hWRB4DlYy8qFUmDsyvvExe4NjZWblXCqkEXRRAhi2SQRCl3teGuIHtDUxCskRIDiaMD+Qt2Yp+Vvbz6hUiqIWSIH1BoHJer/JOq2/O6X3cmuppU4AdVNgy8Bq236iXvrMQIDAQAB-----END 公钥-----`var Pirvatekey = `-----BEGIN 私钥-----MIIEpAIBAAKCAQEAk+89V7vpOj1rG6bTAKYM56qmFLwNCBVDJ3MltVVtxVUUByqc5b6u909MmmrLBqS//PWC6zc3wZzU1+ayh8xbUAEZuA3EjlPHIaFIVIz04RaW10+1xby/RQE23tDqsv9a2jv/axjE/27b62zvCWeItu1kNQ3MGdcuqKjke+LKhQ7WPRCOd/ffVqSuRvG0YfUEkOz/6UpsPr6vrI331hWRB4DlYy8qFUmDsyvvExe4NjZWblXCqkEXRRAhi2SQRCl3teGuIHtDUxCskRIDiaMD+Qt2Yp+Vvbz6hUiqIWSIH1BoHJer/JOq2/O6X3cmuppU4AdVNgy8Bq236iXvrMQIDAQABAoIBAQCCbxZvHMfvCeg+YUD5+W63dMcq0QPMdLLZPbWpxMEclH8sMm5UQ2SRueGY5UBNg0WkC/R64BzRIS6pjkcrZQu95rp+heUgeM3C4SmdIwtmyzwEa8uiSY7Fhbkiq/Rly6aN5eB0kmJpZfa16S9kTszdTFNVp9TMUAo7IIE6IheT1x0WcX7aOWVqp9MDXBHV5T0Tvt8vFrPTldFgIuK45t3tr83tDcx53uC8cL5Ui8leWQjPh4BgdhJ3/MGTDWg+LW2vlAb4x+aLcDJMCH6Rcb1b8hs9iLTDkdVw9KirYQH5mbACXZyDEaqj1I2KamJIU2qDuTKxNoc96HY2XMuSdhAoGBAMPwJuPuZqioJfNyS99x++ZTcVVwGRAbEvTvh6jPSGA0k3cYKgWRNssMkHBzZa0p3/NmSwWc7LiL8whEFUDAp2tvfPVJ19Xvm71gNUyCQ/hojqIAXytsNT1gBUTCMtFZmAkUsjqdM/hUJMM9zH+w4lt5QM2y/YkCThoI65BVbAoGBAMFIGsIbJDNhVap7HfWcYmGOlWgEEEchG6Uq6Lbai9T8c7xMSFc6DQiNMmQUAlgDaMVb6izPK4KGQaXMFt5h7hekZgkbxCKBd9xsLM72bWhM/d/HkZdHQqrNAPFhY6/S8CIjRRfdhsjBIA8K73yiUCsQlHAauGfPzdHET8ktjAoGAQdxeZi1DapuirhMUN9Zrkr8kE1uz0AafiRpmC+cp2Hk05pWvapTAtIXTo0jWu38g3QLcYtWdqGa6WWPxNOPNIkkcmXJjmqO2yjtRg9gevazdSAlhXpRPpTWkSPEt+o2oXNa40PomK54UhYDhyeuakuXQsD4mCw4jXZJN0suUZMCgYAgzpBcKjulCH19fFI69RdIdJQqPIUFyEViT7HibsPTTLham+3u78oqLzQukmRDcx5ddCIDzIicMfKVf8whertivAqSfHytf/pMW8AvUPy5G3iF5/Hj76CNRUbHsfQtv+wqzoyPpHZgVQeQBhcoXJSm+qV3cdGjLU6OMHgqeaQKBgQCmL5SX7GSAeB0rSNugPp2GezAQj0H4OCc8kNrHK8RUvXIU9B2zKA2z/QUKFb1gIGcKxYr+LqQ25/+TGvINjuf6P3fVkHL0U8jOG0IqpPJXO3Vl9B8ewWLcFQVB/QfmaMa4ChK0QEUe+Mqi++MwgYbRHx1lIOXEfUJO+PXrMekw==-----END 私钥-----`fuc mai() {// 公钥加密私钥解密if err := applyPubEPriD(); err != il {log.Pritl(err)}// 公钥解密私钥加密if err := applyPriEPubD(); err != il {log.Pritl(err)}}// 公钥加密私钥解密fuc applyPubEPriD() error {pubectypt, err := gorsa.PublicEcrypt(`hello world`,Pubkey)if err != il {retur err}pridecrypt, err := gorsa.PriKeyDecrypt(pubectypt,Pirvatekey)if err != il {retur err}if strig(pridecrypt) != `hello world` {retur errors.New(`解密失败`)}retur il}// 公钥解密私钥加密fuc applyPriEPubD() error {priectypt, err := gorsa.PriKeyEcrypt(`hello world`,Pirvatekey)if err != il {retur err}pubdecrypt, err := gorsa.PublicDecrypt(priectypt,Pubkey)if err != il {retur err}if strig(pubdecrypt) != `hello world` {retur errors.New(`解密失败`)}retur il}

功能介绍

GoRSA 加解密库 Golang使用RSA进行公钥加密私钥解密,私钥加密公钥解密的实现 基于 https://github.com/farmerx/gorsa 进行封装优化了如下几点: 公私钥...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论