Go语言中文网 为您找到相关结果 228

Go和HTTPS

Go和HTTPS 四 30 bigwhite技术志 CA, CNNIC, Go, Golang, http, https, MD5, ngrok, openssl, SHA, SHA-1, SHA256, SSL, TLS, Web, 加密, 单项散列, 密钥, 微信, 摘要, 数字证书, 私钥, 签名 1 Comment 近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验。之前只是粗浅接触过HTTP(使用Golang开 发微信系列)。对HTTPS的了解则始于那次自行搭建ngrok服务,在那个过程中照猫画虎地为服务端生成了一些私钥和证书,虽然结果是好 的:ngrok服务成功搭建起来了,但对HTTPS、数字证书等的基本原理并未求甚解。于是想趁这次的机会,对...阅读全文

博文 2015-05-01 12:11:47 bigwhite

工作5年C++服务器,转GO的感触,GO服务器业余时间整理的,用时2个月,框架到细节

之前c++服务器,是端游转过手游来的,在我不断的优化下,成功从c++98到c++11,以及32位到64位的转变,从端游服务器,转到手游服务器,上线人数单服1W+没太大压力。 go是我业余的时候接触到的,在现在大环境下,高并发和跨平台是现在开发游戏服务器的主流,之前那套c++说实在是够用,只要能达到那个量,单服性能极致,我只服c++。 skynet+lua,c底层,lua逻辑,我也过来过c++底层,lua逻辑,但实际效果是lua并不是我想要去写的,可能我对lua脚本不感兴趣。go做的事情和skynet做的大同小异,都是携程,抢占式g调度模式,go 有个goroutine和channel,skynet lua虚拟机。 当时设计go的时候,由于跟c++大轮子有点出路,c++是循环轮子模式,单...阅读全文

Go大咖说第一期《比特币、区块链和Go开发》

个人介绍姜家志,2013 年开始接触比特币,之后开发了比太钱包,现在在比特大陆从事比特币相关的开发工作。引言大家好,我是姜家志首先感谢下谢大神的邀请,能有机会和大家进行交流,我是 2013 年开始接触比特币,当时花了很长时间在了解比特币原理和看比特币的源代码上。之后我们发现比特币没有好用的钱包,就开发了 "比太钱包"(bither), 比太钱包是中国人开发的唯一的一个上 bitcoin.org 的钱包,截图中就是比太钱包。另外的一个是 btc.com 钱包是我现在所在的公司开发的钱包,是由我们公司的欧洲团队开发的钱包。我从 2014 年开始接触 Go 语言,接触之后就深深的喜欢上了 Go, 之后就开始有计划地学习 Go 语言,自己做了几个 demo 性质的网站,主要是个人 blog、论坛、和...阅读全文

博文 2017-07-22 02:17:42 姜家志

腾讯云之无服务器云函数

使用腾讯的 无服务器云函数启动了一个服务,用golang代码生成以太坊的私钥跟地址。 https://service-exvd0ctl-1258120565.ap-beijing.apigateway.myqcloud.com/release/addr genEthAddr.png 无服务器云函数是什么 腾讯云的无服务器云函数,跟 aws lambda类似,把一段代码放到云函数服务器上,设定好访问路径, 就可以对外访问了。之前若想发布1段20行代码执行的服务,你可能需要买个vps,现在用腾讯的云函数即可,灵活方便,省资源。 小程序 如果要做些工具类微信小程序,生成eth、btc地址,查看天气数据,雾霾指数,运行个云函数,小程序去请求即可。只要不保存大量数据, 搭建建服务器的费用可以省了。 云...阅读全文

博文 2018-11-29 00:34:43 shooter

https原理以及golang基本实现

关于https 背景知识 密码学的一些基本知识 大致上分为两类,基于key的加密算法与不基于key的加密算法。现在的算法基本都是基于key的,key就以一串随机数数,更换了key之后,算法还可以继续使用。 基于key的加密算法又分为两类,对称加密和不对称加密,比如DES,AES那种的,通信双方一方用key加密之后,另一方用相同的key进行反向的运算就可以解密。 不对称加密比较著名的就是RSA,加密的时候有一个公钥和一个私钥,公钥是可以交给对方的,a给b发送信息,a用自己的私钥加密,b用a的公钥解密,反之,b给a发送信息,b用自己的私钥加密。 在通信之前,需要经过一些握手的过程,双方交换公钥,这个就是key exchange的过程,https最开始的阶段就包含了这个key exchange的过...阅读全文

博文 2015-07-12 03:00:00 Goden

Golang加密系列之RSA

Golang加密系列的最后一篇,嗯,RSA涉及的概念太多,弄了好久才搞清楚。。。 代码的结构如下图 PS:StarUML这玩意在Mac上所有连到Interface的线都变成直线了...我很惆怅... 定义一个对外开放的接口 package rsa import "crypto" type Cipher interface { Encrypt(plaintext []byte) ([]byte, error) Decrypt(ciphertext []byte) ([]byte, error) Sign(src []byte, hash crypto.Hash) ([]byte, error) Verify(src []byte, sign []byte, hash crypto.Hash) ...阅读全文

博文 2015-11-06 15:00:09 君子藏锋

让互联网更快的协议,QUIC在腾讯的实践及性能优化

作者|罗成 编辑|小智 本文主要介绍 QUIC 协议在腾讯内部及腾讯云上的实践和性能优化。欲了解 QUIC 协议产生的背景和核心特性,可阅读今日二条推文。 写在前面 如果你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度。特别是弱网络的时候能够提升 20% 以上的访问速度。如果你的 App,在频繁切换 4G 和 WIFI 网络的情况下,不会断线,不需要重连,用户无任何感知。如果你的 App,既需要 TLS 的安全,也想实现多路复用的强大。如果你刚刚才听说 HTTP2 是下一代互联网协议,如果你刚刚才关注到 TLS1.3 是一个革命性具有里程碑意义的协议,但是这两个协议却一直在被另一个更新兴的协议所影响和挑战。如果这个新兴的协议,它的名字就叫做“快”,并且正在标准化为新一代...阅读全文

用go语言模拟客户端对服务端发送get和post请求

client.go package main import ( // "bytes" "fmt" "io/ioutil" "net/http" "net/url" ) var client = &http.Client{} func Get() { //向服务端发送get请求 request, _ := http.NewRequest("GET", "http://192.168.1.35:9091/?publicKey=-----BEGIN+PUBLIC+KEY-----%0D%0AMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZsfv1qscqYdy4vY%2BP4e3cAtmv%0D%0AppXQcRvrF1cB4drkv0haU24Y7m5qYtT52...阅读全文

博文 2015-01-08 12:00:01 秦思_li

Go和HTTPS

自 tony bai 近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验。之前只是粗浅接触过HTTP(使用Golang开 发微信系列)。对HTTPS的了解则始于那次自行搭建ngrok服务,在那个过程中照猫画虎地为服务端生成了一些私钥和证书,虽然结果是好 的:ngrok服务成功搭建起来了,但对HTTPS、数字证书等的基本原理并未求甚解。于是想趁这次的机会,对HTTPS做一些深度挖掘。主要途 径:翻阅网上资料、书籍,并利用golang编写一些实验examples。 一、HTTPS简介 日常生活中,我们上网用的最多的应用层协议就是HTTP协议了,直至目前全世界的网站中大多数依然只支持HTTP访问。 使用Go创建一个HTTP Server十分Easy,十几行代码...阅读全文

博文 2017-01-20 13:00:03 andylau00j

30亿条个人信息被盗,全站HTTPS迫在眉睫

本文首发于微信公众号:网络安全生命周期原文链接:30亿条个人信息被盗,全站HTTPS迫在眉睫【特大流量劫持事件】据新华网报道,日前,浙江绍兴市越城区公安分局侦破一起特大流量劫持案,涉案主角瑞智华胜,涉嫌非法窃取用户个人信息30亿条,涉及百度、腾讯、阿里、京东、新浪和今日头条等全国96家互联网公司产品,几乎涵盖了国内主要互联网企业。原来这家公司是通过流量劫持(HTTP劫持)的方式,非法收集个人信息并盗用用户认证凭据(Cookie)进行精准营销(加粉、点赞、发帖、添加广告等)。【根因分析】目前广泛使用的HTTP协议,由于是明文传输,往往会被劫持,其中用于身份认证的凭据(Cookie)很容易被窃取,此外劫持者还会在返回的网页内容中添加js脚本,用于展示广告等原始网页中并不存在的内容。要避免被劫持,...阅读全文

为什么选择golang写手机游戏服务器

选择golang做游戏服务器开发 经过大半年的手机游戏运营、维护、后续开发,对下一个网络游戏的服务器端开发技术选型的需求如下:1. 体系成熟,有大型成功案例2. 开发效率高3. 性能高,最好是支持并行技术充分利用多cpu资源4. 代码加密发布5. 开发逻辑简单,如多线程同步、加锁、多进程同步就比较复杂6. 易学易用,如果是新技术 可选技术对比 我对可以选择的技术平台经过自己的一些分析总结如下(一己之言): 项目 nodejs python c++/ruby erlang golang 体系成熟 4 3 5 4 3 开发效率 5 5 3 3 5 性能 3 3 5 5 4 加密发布 3 0 4 3 5 逻辑简单 5 5 3 4 5 易学易用 5 5 2 1 4 跨平台 5 5 5 5 5 其实聪...阅读全文

博文 2014-10-04 19:26:08 Creak_Phone

大型网站的HTTPS实践(一)---HTTPS协议和原理

1前言 百度已经于近日上线了全站HTTPS的安全搜索,默认会将HTTP请求跳转成HTTPS。本文重点介绍HTTPS协议,并简单介绍部署全站HTTPS的意义。 本文最早发表于百度运维部官方博客 2 HTTPS协议概述 HTTPS可以认为是HTTP + TLS。HTTP协议大家耳熟能详了,目前大部分WEB应用和网站都是使用HTTP协议传输的。 TLS是传输层加密协议,它的前身是SSL协议,最早由netscape公司于1995年发布,1999年经过IETF讨论和规范后,改名为TLS。如果没有特别说明,SSL和TLS说的都是同一个协议。 HTTP和TLS在协议层的位置以及TLS协议的组成如下图: TLS协议主要有五部分:应用数据层协议,握手协议,报警协议,加密消息确认协议,心跳协议。 TLS协议本身...阅读全文

博文 2015-05-04 11:26:58 luocn99

区块链笔记

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 广义和狭义的区块链广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本(分布式数据库)。 区块链结构与特征1) 一个分布式的链接账本,每个账本就是一个“区块”; 2) 基于分布式的共识算法来决定记账者; 3) 账本内交易由密码学签名和哈希算法保证不可篡改; 4) 账本按产生的时间顺序链接,当前账本含有上一...阅读全文

博文 2019-09-23 17:32:46 链客

使用Golang开发微信公众平台-发送客服消息

使用Golang开发微信公众平台-发送客服消息 十二 30 bigwhite技术志 Amazon, CDATA, Debug, EC2, Go, Golang, http, json, marshal, ngrok, Opensource, Tcpdump, unmarshal, Wechat, wireshark, XML, 公众平台, 开放平台, 开源, 微信, 服务号, 编码, 解码, 订阅号, 调试 No Comments 关注并使用过微信“飞常准”公众号的朋友们都有过如下体验:查询一个航班情况后,这个航班的checkin、登机、起降等信息都会在后续陆续异步发给你,这个服务就是通过微信公众平台的客服消息实现的。 微信公众平台开发文档中关于客服消息的解释如下:“当用户主动发消息给公众号...阅读全文

博文 2015-01-20 09:24:45 bigwhite

golang 生成RSA公钥和私钥文件

package main import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "os" ) func main() { //rsa 密钥文件产生 GenRsaKey(1024) } //RSA公钥私钥产生 func GenRsaKey(bits int) error { // 生成私钥文件 privateKey, err := rsa.GenerateKey(rand.Reader, bits) if err != nil { return err } derStream := x509.MarshalPKCS1PrivateKey(privateKey) block := &pem.Block{ Type: "R...阅读全文

博文 2016-04-29 20:00:01 su_sai

YOUChain首批64个参议节点竞选成功

YOUChian区别于传统的增发挖矿模式,独创“公链经济体靠Gas费盈利”的通缩Token模型,自这一概念发布后,受到业界的讨论与关注。自2019年8月21日正式开启全球节点招募计划以来,各业内知名机构、实体产业、Dapp项目方、社群用户等均踊跃参与到节点竞选中来。本次共计招募三类议院节点,其中:议长节点15个,门槛为:8,880,000YOU;参议节点85个,门槛为1,580,000YOU;以及数量不限的众议节点。其中,15个议长节点已于2019年9月5日招募完成;85个参议节点名额首批国际招募已于昨日(2019年10月10日24点)竞选成功64个;目前剩余席位仍在官网持续招募中。本轮参议节点包含矿池「Newpool」「有令矿池」等;实体产业「车位来」、「蟹之皇」等;TokenFound「...阅读全文

博文 2019-10-11 15:32:51 aside section ._1OhGeD

IM即时通讯社交软件app开发,区块链社交直播软件开发

IM即时通讯社交软件app开发,区块链社交直播软件开发 IM即时通讯设有数字资产钱包可进行实时发红包、转账、直播、聊天、发图、朋友圈、录像、建群、点对点聊天、加好友、相册、扫二维码等等一些有趣的功能实时上线。社交直播软件开发 Tel: 13823153201 Q/:2756126100 开发即时通讯APP能够带来什么 1、随时联系客户:在电子商务的发展中,客服咨询是重要的服务环节,电子商务IM即时通讯APP软件开发帮助为客服人员提供在线与消费者进行沟通互动,并且在为客服人员显示消费者在线的状态。 2、巧发商机:买家在发布产品信息的时候,能够通过系统一次性批量发布、重发信息,分类管理信息,有效提升工作效率。 3、丰富的系统功能:在沟通互动的聊天环节中,为用户提供文字、语音、视频等聊天功能,还能...阅读全文

博文 2018-11-05 15:06:13 T13823153201

golang RSA加密解密程序

package main import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "errors" "fmt" ) // 加密 func RsaEncrypt(origData []byte) ([]byte, error) { block, _ := pem.Decode(publicKey) //将密钥解析成公钥实例 if block == nil { return nil, errors.New("public key error") } pubInterface, err := x509.ParsePKIXPublicKey(block.Bytes) //解析pem.Decode()返回的Block指针实例 i...阅读全文

博文 2016-04-20 21:00:01 su_sai

Golang创建最简单的HTTP和HTTPS服务

Golang可以用很短的代码实现HTTP和HTTPS服务 HTTP服务 HTTP是基于传输层TCP协议的。 package main import ( "net/http" "fmt" "log" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){ fmt.Fprint(w, "Hello world") }) log.Fatal(http.ListenAndServe(":5001", nil)) } HTTPS服务 HTTPS服务不同于HTTP服务,HTTPS是HTTP over SSL或HTTP over TLS。 SSL是“Secure Sockets Layer”的缩写...阅读全文

博文 2018-09-20 16:34:43 肥羊

golang https

Go支持https协议的简单例子 我们知道除了http方式访问网页之外,还有一种加密的https方式。Go语言的net/http包中包含了这种https页面访问方式的支持。net/http包中的ListenAndServeTLS就是提供这个功能的。我们可以先看一下这个函数的原型。 func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error 从上面的函数原型我们可以看出,其实和http方式的差别就在于需要提供一对公钥文件certFile和私钥文件keyFile。 我们在linux下面可以使用下面的命令来生成一对测试的公钥和私钥文件。 openssl genrsa -out...阅读全文

博文 2014-10-04 19:27:23 flyking

借助江苏电信欢go进行流量推广活动合作的工作规范(一)

借助江苏电信欢go(下面简称欢go)渠道落地推广的活动要求必须具备如下条件: 1、技术限制:为了防止用户恶意刷流量的不公平竞争行为发生,要求对参与用户进行手机号码、设备号双重限制,用户提交号码页面做图片验证码,而且必须要做短信验证,欢go可以无偿提供短信验证接口,若不做短信验证必须邮件欢go相关运营人员,声明无条件做短信验证,出现流量被刷的情况后果自负; 2、活动范围:活动上线前,烦请提供产品及业务重点目标用户群体及地域特征,以便最终确认活动覆盖范围,开展精准营销,以提高活动质量,指定区域的活动要求必须在活动页面明确说明活动范围,且要求客户端侧做定向活动分区域展示; 3、流量充值:为提高充值成功率,提升用户体验感知度,减低用户投诉量,建议必须采用API接口方式接入,实现流量实时充值; 4、活...阅读全文

博文 2016-02-17 11:00:00 labulakayoyo

区块链笔记

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 广义和狭义的区块链广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本(分布式数据库)。 区块链结构与特征1) 一个分布式的链接账本,每个账本就是一个“区块”; 2) 基于分布式的共识算法来决定记账者; 3) 账本内交易由密码学签名和哈希算法保证不可篡改; 4) 账本按产生的时间顺序链接,当前账本含有上一...阅读全文

博文 2019-09-29 14:32:52 链客

链上贪吃蛇:知名团队TEAM JOY打造,能否再续辉煌?

ONETOP实验室:最新、最火的DAPP解析,有趣、有料的内容尽在公众号ONETOP实验室很多八零后的童年回忆,并不是仙剑奇侠传、魔兽世界,更不是荒岛救生或是英雄联盟,而是让现代人觉得老掉牙的一款诺基亚手游-贪吃蛇。它和推箱子、俄罗斯方块都是一个时代的开创者。如今贪吃蛇这款经典游戏成功登陆DApp,成为了区块链技术的产物之一。它的开发团队——TEAM JOY核心成员来自腾讯、畅游、触控等顶尖游戏公司,阵容强大。其中Neo 作为主程序领导了《捕鱼达人3》的开发,作为核心开发参与了《天龙八部》、《轩辕剑》等大型游戏的开发 ,经验丰富,我们或许因此会多了几分期待。项目介绍Snake Joy是一款EOS链上的贪吃蛇游戏,玩法并不繁琐。玩家只要点击鼠标就能控制贪吃蛇的走向,通过点击左键来启动加速,长按...阅读全文

博文 2019-02-14 11:34:52 ONETOP评级

使用golang进行证书签发和双向认证

前言 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。证书签发涉及到了非对称加密方面的知识,这里介绍使用golang中的x509标准库进行证书自签发,还有证书签发后如何使用golang进行双向认证. 自签发证书 生成根证书 根证书是CA认证中心给自己颁发的证书,是信任链的起始点.这里我们自己做CA使用openssl命令来生成根证书. 首先生成私钥 openssl genrsa -out key.pem 2048 然后根据私钥提取公钥 openssl rsa -in key.pem -pubout -out key.pub 开始生成X509格式的自签名证书,会要求输入区别名DN的各项信息(国家,城市,组织,姓名,email等. penssl req -x509 ...阅读全文

博文 2017-06-05 15:06:14 pinecone

公共云运维安全常见四大难题及解决方案

乘长假期间春光明媚,得空回顾了一下十年工作。 深以为,运维安全绝对是企业安全保障的基石。 看到这儿,有些程序猿不禁要问,哥们,你是不是写错了,应该是安全运维吧! 非也! 事实上,安全运维和运维安全是两个概念。 我的理解:安全运维是工程师对各种安全设备和软件进行运维保障系统安全,而运维安全相比之下是涵盖了整个云计算系统和安全有关的方方面面。本文主要探讨公共云环境下运维安全常见的难题及解决方案。 ![image002.jpg](http://studygolang.qiniudn.com/160216/a6de211d857d683e5c3f7848cfe83b87.jpg) 目前使用公共云的用户可以分为两类: 一是一开始业务就部署在公共云上面,主...阅读全文

BDT平台携手区块链,打造最有价值的数字资产平台!

区块 链这一倍受热议的蓝海项目,正在全球范围内吸引着无数参与者蜂拥而至。根据区块链公司DERO的调查显示:全世界范围内有455家公司共获得了19.47亿美元的融资。仅在中国境内就有61家公司斩获融资,位列全球第二。可随着区块链+的日益发展,参与者却逐渐发现了它的诸多弊端。[if !supportLists]一、[endif]缺乏隐私性:在区块链公有链中,每一个参与者都能够获得完整的数据备份,交易数据都是公开和透明的。通过帐户和交易信息,可轻松获得参与者的财富、重要资产、商业机密等。这无疑将给参与者带来极大的隐私风险。二、相对安全性缺失:绝对的安全,代表着相对的不安全。区块链技术一大特点就是不可逆、不可伪造,但前提是私钥是安全的。私钥是用户生成并保管的,没有第三方参与。私钥一旦丢失,便无法对账...阅读全文

博文 2018-11-27 18:34:41 栗原芽笙

用 Golang 实现 RSA 加密和签名(有示例)

本文介绍 RSA 干了什么,以及我们怎样用 Go 实现它。 ![](https://raw.githubusercontent.com/studygolang/gctt-images2/master/20200408-Implementing-RSA-Encryption-and-Signing-in-Golang/00.jpg) RSA(*Rivest–Shamir–Adleman*)加密是使用最广的安全数据加密算法之一。 它是一种非对称加密算法,也叫”单向加密“。用这种方式,任何人都可以很容易地对数据进行加密,而只有用正确的”秘钥“才能解密。 > 如果你想跳过解释直接看源码,点击[这里](https://gist.github.com/sohamkamani/08377222d5e3e6...阅读全文

博文 2020-05-05 20:24:53 lxbwolf

专访:听道哥聊互联网江湖——探底黑产,描绘作战地图

我是搬运工,原贴地址:http://click.aliyun.com/m/5826/ 摘要: 保卫阿里云这个中国 35% 的网站都坐落其上的云计算平台和上面的居民,道哥觉得自己守土有责,不容有失。 吴翰清,这个资深黑客拥有诸多身份:写“道哥的黑板报”的“文艺网红”& 阿里云云盾的负责人。 在他心里,第一个身份轻如鸿毛,第二个身份重若泰山。 保卫阿里云这个中国 35% 的网站都坐落其上的云计算平台和上面的居民,道哥觉得自己守土有责,不容有失。 探底黑产,描绘自己的作战地图,是他对自己职责要求的一部分。 他告诉我们一个秘诀:“想要知道中国的黑产有哪些行业,只要看淘宝的禁限售板块就够了。”DDoS攻击,敲诈勒索,暗网黑市,这些黑色产业,往往最终都会涉及到对阿里云上...阅读全文

golang rsa公钥私钥pem文件生成

func main() { //rsa 密钥文件产生 GenRsaKey(1024) } //RSA公钥私钥产生 func GenRsaKey(bits int) error { // 生成私钥文件 privateKey, err := rsa.GenerateKey(rand.Reader, bits) if err != nil { return err } derStream := x509.MarshalPKCS1PrivateKey(privateKey) block := &pem.Block{ Type: "RSA PRIVATE KEY", Bytes: derStream, } file, err := os.Create("private.pem") if err != ...阅读全文

博文 2015-06-17 20:23:37 zb_liang

圣才教育2015年元旦活动:正版电子书免费领,持续1个月!

元旦巨惠,买一送一!   1月1日-1月3日,圣才e书网(www.100eshu.com)上所有圣才e书、圣才题库、圣才视频买一送一!如此优惠,一年仅此一次! 活动详情:   1月1日-1月3日,在圣才e书网购买资料(包含圣才e书、圣才题库、圣才视频)即可领取任意一本原价小于或等于该资料的圣才e书/圣才题库/圣才视频! 注意事项:   1.购买的用户请联系客服索取赠送的资料,请提供您在圣才e书网注册的账号,并说明您想要什么资料(该资料原价需低于或等于购买的资料原价)!比如用户购买原价100元的圣才e书,则可以获得任意一本原价低于或等于100元的e书。   2.本活动仅限于1月1日至1月3日购买的用户参加,并需在当天联系客服获取赠送的资料,过期则无效! 赶快去圣才e书网抢购 梦...阅读全文

GO实现简单的RSA加密解密

## RSA加密 RSA的加密过程可以使用一个通式来表达 > 密文=明文EmodN 也就是说RSA加密是对明文的E次方后除以N后求余数的过程。就这么简单?对,就是这么简单。 从通式可知,只要知道E和N任何人都可以进行RSA加密了,所以说E、N是RSA加密的密钥,也就是说E和N的组合就是公钥,我们用(E,N)来表示公钥 >公钥=(E,N) 不过E和N不并不是随便什么数都可以的,它们都是经过严格的数学计算得出的,关于E和N拥有什么样的要求及其特性后面会讲到。顺便啰嗦一句E是加密(Encryption)的首字母,N是数字(Number)的首字母 ## RSA解密 RSA的解密同样可以使用一个通式来表达 > 明文=密文DmodN 也就是说对密文进行D次方后除以N的余数就是明文,这就是RSA解密过程。...阅读全文

博文 2019-05-12 22:50:39 xuthus5

Go和HTTPS

自:http://tonybai.com/2015/04/30/go-and-https/ 近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验。之前只是粗浅接触过HTTP(使用Golang开 发微信系列)。对HTTPS的了解则始于那次自行搭建ngrok服务,在那个过程中照猫画虎地为服务端生成了一些私钥和证书,虽然结果是好 的:ngrok服务成功搭建起来了,但对HTTPS、数字证书等的基本原理并未求甚解。于是想趁这次的机会,对HTTPS做一些深度挖掘。主要途 径:翻阅网上资料、书籍,并利用golang编写一些实验examples。 一、HTTPS简介 日常生活中,我们上网用的最多的应用层协议就是HTTP协议了,直至目前全世界的网站中大多数依然只支持HTTP...阅读全文

博文 2015-06-02 04:00:05 sevenyuan

从游击队到正规军(三):基于Go的马蜂窝旅游网分布式IM系统技术实践

本文由马蜂窝技术团队电商交易基础平台研发工程师"Anti Walker"原创分享。 一、引言 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商。 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣、食、住、行等方方面面。从消费金额来看,往往单次消费额度较大。对目的地的陌生、在行程中可能的问题,这些因素使用户在购买前、中、后都存在和商家沟通的强烈需求。可以说,一个好用的 IM 可以在一定程度上对企业电商业务的 GMV 起到促进作用。 本文我们将结合马蜂窝旅游电商IM系统的发展历程,单独介绍基于Go重构分布式IM系统过程中的实践和总结(本文相当于《从游击队到正规军(一):马蜂窝旅游网的IM系统架构演进之路》一文的进阶篇),希望可以给有相似问题的朋友一些借鉴。 另外:如果你...阅读全文

博文 2020-02-19 17:32:50 JackJiang

Go支持https协议的简单例子

我们知道除了http方式访问网页之外,还有一种加密的https方式。Go语言的net/http包中包含了这种https页面访问方式的支持。net/http包中的ListenAndServeTLS就是提供这个功能的。我们可以先看一下这个函数的原型。 func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error 从上面的函数原型我们可以看出,其实和http方式的差别就在于需要提供一对公钥文件certFile和私钥文件keyFile。 我们在linux下面可以使用下面的命令来生成一对测试的公钥和私钥文件。 openssl genrsa -out key.pem 2048 ope...阅读全文

博文 2016-03-03 15:00:03 aqiang912

EOS将被大规模黑客攻击?此话怎讲!

EOS自启动漏洞赏金计划以来,上半年赏金已超10万美元。 据IMEOS消息,近日,区块链安全公司PeckShield发现部分EOS用户的秘钥存在严重的安全隐患,部分秘钥允许用强度较弱的助记词,很容易存在“彩虹”攻击,并引发账户数字资产被盗。其实自今年5月以来,EOS就屡遭负面新闻缠身。“史诗级”漏洞、百万私钥被盗、主网瘫痪……安全问题似乎已经成为了EOS很大的硬伤。对于这个1年募资40亿美金的明星项目,支持者认为它开启了区块链3.0时代,反对者将其视为史上最大的空气币、传销币,存在严重的安全隐患。更有区块链研究员预言,明年将会有一场大规模利用EOS漏洞的黑客攻击。“考虑到开发人员处理关键安全问题的方式,这一攻击的出现将很可能是不可避免的。”攻击必将到来,而且不可避免?EOS安全事件频发的根源...阅读全文

博文 2018-07-12 17:34:48 BTC123门户

golang 使用RSA生成公私钥,加密,解密,并使用SHA256进行签名,验证

话不多说直接上代码: package main import ( "crypto" "crypto/rand" "crypto/rsa" "crypto/sha256" "crypto/x509" "encoding/hex" "encoding/pem" "errors" "fmt" ) func main() { //rsa 密钥文件产生 fmt.Println("-------------------------------获取RSA公私钥-----------------------------------------") prvKey, pubKey := GenRsaKey() fmt.Println(string(prvKey)) fmt.Println(string(pubK...阅读全文

博文 2019-08-07 08:32:55 肉山大魔王i

被阿里云关停服务器始末

记录下最近使用阿里云服务器比较难受的一件事情。 背景:当前公司的业务服务是部署在阿里云上,大概 40+ ECS ,医疗行业。之前一直有一些不严重的报警,比如 OSS 服务器有一些违规图片呀(私密咨询,你懂的),又比如被检测到对外攻击(双手保证没干过非法的事情),已阻断该服务器对其它服务器端口(UDP:ALL)的访问等。大概4月底收到一封邮件,说是有一台服务器发现存在大量违法违规类内容,要求24小时内整改,逾期将关停服务器,因为确实没有做违法的事情,加上马上五一小长假就没有及时跟进,结果悲催了,五一回来第一天正写着代码,突然连不上了,一脸懵,一查才知道服务器被关停了。 image.png 刚开始还没意识到严重性,想着要是整改完成了应该再开通就行了吧,因为只是开发的机器,没有造成什么影响。 而事...阅读全文

博文 2019-05-10 17:35:15 epicmr

Golang学习笔记之HTTPS

一:HTTPS介绍 HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。 HTTP和HTTPS的区别 • HTTPS是加密传输协议,HTTP是名文传输协议 • HTTPS需要用到SSL证书,而HTTP不用 • HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO • HTTPS标准端口443,HTTP标准端口80 • HTTPS基于传输层,HTTP基于应用层 • HTTPS在浏览器显示绿色安全锁,HTTP没有显示 二、HTTPS证书 正式发布的时候,...阅读全文

博文 2018-12-22 18:34:43 学生黄哲

JAVA与GO语言实现的RSA加密算法的互通

之前写过C#与JAVA语言RSA算法的互通程序,后来又找了找JAVA与GO语言互通的RSA算法,发现没有现成的,经过探索后,成功实现了两者的互通,现在分享如下: 注意:1 .两者的公钥和私钥是不能混用的,即JAVA的公私钥是不能直接用于GO的,反过来也不行。 2.下面的JAVA源码的解密思想是: (1)将java产生的公钥pubKey_from_java复制给Go (2)Go利用java的公钥加密一段信息,data,err=RsaEncrypt(" hello ",pubKey_from_java) (3)java利用自己的私钥privKey_from_java解密这段信息data,已验证通过。 3. Go源码解密的思想与上述同理,不再赘述。直接上源代码。 JAVA实现RSA的源码如下: p...阅读全文

博文 2016-03-08 14:00:01 igoqhb

使用 Go 添加 HTTPS

简介 实践 生成证书和私钥 修改配置文件 修改启动函数 总结 当前部分的代码 简介 现在的网站没有 HTTPS 都不好意思见人了. 超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在 1994 年首次提出,随后扩展到互联网上。 HTTPS 的信任基于预先安装在操作系统中的证书颁发机构(CA)。因此...阅读全文

博文 2019-10-23 00:34:28 帅气猫咪

Golang 对接宝付、通联、富友金账户...填坑记

一、宝付私钥加密,公钥解密 由于对RSA加密解密原理不是很熟悉,宝付也没有Golang的Demo提供。Go语言库里一般都是私钥解密、公钥加密,或者私钥签名、公钥验签。宝付需要反过来,这里也到好找到了https://github.com/farmerx/gorsa的实现,但始终宝付那边提示签名验证失败。然后就继续找其他的实现了,这就惨了各种Google完全无解。最后回过头来只能,使用加解密原文,跟.Net平台的结果进行比对。一通折腾或者叫折磨之后,发现其实只是每次加密多了117个字节的全是0,后面的加密结果居然是跟其他平台一样的。由此对armerxgorsa做了如下修改,成功。 这个前后花了3天时间。虽然解决问题的方式最终很简单,但是找到这条路的过程可真是披荆斩棘。 二、通联密钥解析 宝付的密...阅读全文

博文 2018-08-05 15:30:02 KendoCross

google吐槽帝翻译的开发语言比对

通天塔导游(译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将人类的语言复杂化,不如说是人类自身心灵和谐不再的分崩离析。之所以后来有了翻译,不仅是为了加强人类之间的交流,更寄达了一种愿望,希望能以此消除人际的隔阂,获求来自心灵的和谐及慰藉。真正的译者,把握血脉,抚平创痕,通传天籁,开启心门。)这是我写的旋风式的编程语言简介—我本来为亚马逊开发者杂志本月的期刊写的,但是发现我写的东西没法…见人。首先,我偶尔一不小心口出脏话,或者对上帝不恭的话,所以对很官方很正式的亚马逊上发表是不合适的; 所以我就把它塞到我的博客里了,我的博客反正没人看的。除了你以...阅读全文

博文 2015-06-17 23:08:18 teamlet

关于RSA签名验签官网示例用openssl无法验证的问题

关于RSA签名验签官网示例用openssl无法验证的问题 我想用openssl签名,用Go验签,在网上搜到了源码页,但源码页的结果和我的无法对应,如下 源码页 https://golang.org/src/crypto/rsa/pkcs1v15_test.go 其中的签名和验证代码: ``` // These vectors have been tested with // `openssl rsautl -verify -inkey pk -in signature | hexdump -C` var signPKCS1v15Tests = []signPKCS1v15Test{ {"Test.\n", "a4f3fa6ea93bcdd0c57be020c1193e...阅读全文

Go语言无法读取需要密码访问的PEM文件问题(failed to parse private key)

文来自:http://blog.csdn.net/hekejun19861107/article/details/22897429 最近开始做苹果的推送功能,服务端连接apns的时候需要加密连接,对应就需要通过苹果开发者平台生成对应的pns的证书和对应的私钥,然后通过openssl命令转换成PEM格式,本人也是急于完成手头的工作,没有去深入研究openssl命令的使用方法,按网上的教程直接把p12 的私钥转成了pem,对应还上了密码。这时候问题就来了,Go提供的tls库中的LoadX509KeyPair并没有传入密码的选项,只能传入对应的证书和私钥。琢磨半天找到这方法,记录一下: golang 不支持p12解析,所以需要转换成pem 网上有一些,但都不能实现自动转换(非交互模式)。以下是非交...阅读全文

博文 2016-02-05 02:00:01 newsyoung1

GopherChina2016后记

4月17日晚22:51,伴随着D7次动车缓缓驶入沈阳北站,拖着疲惫的身体和些许兴奋的我,结束了两天的GopherChina 2016之旅。 一、GopherChina大会 GopherChina大会是中国大陆地区Golang语言推广第一品牌。2015年在上海成功了举办了第一届大会;2016年,大会发起人astaxie为充分照顾帝都(及周边)Gophers们的情绪^_^,将GopherChina 2016搬到了北京举行。 这是我第一次参加GopherChina大会,也是由于“第一次”,心里有种莫名的小兴奋。 第一天会议,8:30来到亚洲大酒店。虽然酒店外面人员密度稀疏,但主会场入口处却是接踵摩肩,人山人海:注册、领“Gopher战斗服”、收集卡片印章,场面好不热闹,不过主会场内部倒是一片井然有...阅读全文

博文 2016-04-19 08:50:36 bigwhite

golang中几种加密方式的处理

缘由 在与第三方平台进行接入的时候,通常会存在一些签名或者加密的处理,在进行开发的时候,因为语言的不同,需要按照规范进行相应处理。 DES加解密 DES:https://en.wikipedia.org/wiki/Data_Encryption_Standard golang中的标准库crypto/des中有DES的实现,但是golang库的描述比较简单,如果不熟悉DES的加密规则,是不容易进行相应代码编写的,与第三方进行不同语言之间的加密与解密时,也容易混淆,出现错误。 DES区分为CBC和EBC加密模式,并且有不同的填充方式。 CBC(等):https://en.wikipedia.org/wiki/Block_cipher_mode_of_operationPadding:https:...阅读全文

博文 2017-02-09 08:10:14 damon

HD钱包学习小结

在比特币/以太坊等公链上都会用到钱包。钱包主要用来管理用户的私钥,及用户在链上的数字货币,即用私钥对交易进行签名。私钥可用于生成特定消息的签名,此签名可以在不泄露私钥的情况下使用公钥进行验证。 因为私钥极其重要,一旦泄漏就意味着数字资产的所有权就掌握在别人手里。理论上私钥可以是任意的一串随机数字串,不仅难以记忆也没有规律可循,有必要利用一些密码学方法来管理秘钥对(一个秘钥对包括一个私钥和对应的公钥),既方便管理又足够安全。 1. 非确定性钱包 如果只是完全随机生成一个数字串作为私钥,可以使用密码学安全的伪随机数生成器(CSPRNG,Cryptographically secure pseudorandom number generator,密码学安全伪随机数生成器)。这些私钥之间完全独立,相...阅读全文

博文 2018-07-29 11:34:55 shi_qinfeng

Go 语言实现的应用安全网关Janusec Application Gateway

Janusec应用网关(Janusec Application Gateway)一款基于Golang打造的应用安全网关,具备WAF(Web应用防火墙)功能及组合策略配置,天然支持HTTPS(符合PCI-DSS认证要求),无需Agent,私钥加密存储在数据库,提供负载均衡和统一的Web化管理入口。 ![Janusec Application Gateway](https://camo.githubusercontent.com/292d1c91acf55a2572fdfdf91a287c4f1eb1afa4/68747470733a2f2f7777772e6a616e757365632e636f6d2f696d616765732f67617465776179312e706e67) Janu...阅读全文

开源项目 2018-07-30 12:30:01 网友