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

互融云开发数字货币永续合约交易系统-搭建虚拟币永续合约交易平台

互融云开发数字货币永续合约交易系统-搭建虚拟币永续合约交易平台互融云从事虚拟货币智能永续合约产品定制开发,提供区块链智能永续合约APP方案,提供区块链智能永续合约解决方案,专业从事数字货币智能永续合约外包开发等。互融云作为国内领先的数字资产交易所系统开发商,用实际行动践行着安全创新可信赖的理念,前进的脚步从不停歇。在合约产品上,凭借着深厚的底蕴经验加完美的交易机制,互融云合约交易系统已经成为企业手中必不可少的亮点产品,永续合约交易系统便是其中之一:系统特点经过多轮测试,保证了K线的稳定性永续合约采用的是springboot提供微服务,合约账户进行了加密,确保资金安全通过专用的golang脚本稳定高效的抓取和修复k线数据通过多线程和特有算法以及专用并发锁来快速及时的计算并分析风险率并进行相应的...阅读全文

博文 2019-08-28 12:32:44 北京互融时代

HTTPS原理以及GOLANG指定HTTPS密码套件

文章来源 最近跟菊厂合作,我司向他们提供SAAS服务。但由于他们对服务安全管控比较严格,内部有专门部门去审核上线的服务。因此菊厂派人来我司专门对安全这块做全面排查,期间加了不少班。其中他们提到了对HTTPS密码套件做配置,当初只知道HTTPS握手后需要非对称加密的算法,后面查询了才知道原来还有这一系列的通讯过程中使用的密码算法。特此写下文章作为学习记录。 HTTPS简介 HTTPS是Hyper Text Transfer Protocol Secure的缩写。是一个计算机系统间进行安全通信的协议,主要用在浏览器和web服务器之间进行通信。HTTP使用明文进行数据传输,而HTTPS则使用加密数据进行传输。HTTPS可以有效防止黑客在浏览器和web服务器之间窃取和修改数据,即使黑客获取到这些数据...阅读全文

Mastering the game of Go with deep neural networks and tree search

The game of Go has long been viewed as the most challenging of classic games for artificial intelligence owing to its enormous search space and the difficulty of evaluating board positions and moves. Here we introduce a new approach to computer Go that uses ‘value networks’ to evaluate board positions and ‘policy networks’ to select moves. These de...阅读全文

北京区块链创业团队现招golang技术研发和实习生

北京区块链创业团队现招golang技术研发和实习生 职位1 技术研发 招收golang、js开发了, 要求工作3年以上,良好基础知识, 精通golang或js开发, 熟练掌握各种常用加密算法,常用数据结构; 开源贡献者优先, github 源码者优先,技术博客者优先; 掌握golang的同时还掌握其他一门或多门语言(如python、c++、java)的加分。 对分布式相关理论和系统有研究者优先具有技术钻研精神,追求完美,并具有较强自驱学习能力 薪酬:10k-15k每月。 另招收在校实习生,计算机专业,懂golang优先,有开源项目经验优先 职位2 技术研发 数学.密码学专业学生 要求 硕士毕业,熟练掌握各种常用加密算法,掌握计算机相关知识。 抗压能力强...阅读全文

leecode two sum golang解析

Leetcode上的two sum算法用golang实现 two sum问题 : Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. 解题一 一般思路: package main import ( "fmt" ) func twoSum(nums []int, target int) []int { for i, v1 := range nums { if i+1 != len(nums) { for j, v2 := range nums[i+1:] { if target == (v1 + v2) { return []int{i, i + j + 1...阅读全文

博文 2018-02-20 20:34:38 hades

如何指定https在传输数据过程中的加密算法?

最近在学习https,对大概有了个了解,基本都是说先采用RSA进行握手,三次握手后协商出一个对成密钥来进行对成加密,但问题是这个对成加密的算法是什么?我们怎么指定呢,比如指定用AES等等。是在openssl生成证书时配置还是自己在代码里实现阿...阅读全文

Go 语言实现exercise--Loops and Functions

求平方根的一种叫牛顿算法的文字,先给出一个猜测值,用连续逼近方法求出平方根。 首先我们设要求的这个数为a,它的平方根为x;然后我们一开始令x=a;然后我们进入一个循环,不断的令x=(x+a/x)/2,就是令x等于 x和a/x的平均值,这样迭代了7-10次左右就可以得到a的平方根x的近似值。 package mainimport ( "fmt" "math")func Sqrt(x float64) float64 { z := x for i := 0; i < 10; i++ { z = (z + x/z)/2 } return z}func main() { fmt.Println(Sqrt(2)) fmt.Println(math.Sqrt(2))...阅读全文

博文 2015-06-17 23:07:44 xiongwei1209

【go密码学】-非对称加密算法

RSA RSA加密 在RSA中,明文、密钥和密文都是数字。加密过程可以用下列公式: 加密公式中出现的E和N的组合就是公钥。 RSA解密 公式: 数字D和N组合起来就是RSA的私钥。 生成密钥对 求N N = p x q (p、q为质数)。q、q太小容易被破译,太大会导致计算时间很长。N = 17 x 19 = 323 求L(L是仅在生成密钥对的过程中使用的数) L = lcm(p-1,q-1) (L是p-1和q-1的最小公倍数)L = lcm(16,18) = 144 求E 1 < E < Lgcd(E,L) = 1 ;表示E和L的最大公约数为1;E = 5,7,11,13,17,19,23,25,29,31 求D 1 < D < LE x D mod L = 1D = 29 go应用 pa...阅读全文

博文 2018-10-12 20:34:38 jincheng828

【机器学习入门】概念原理及常用算法

课程介绍 本课程主要讲解机器学习的概念、原理和应用场景,以及机器学习的常用算法,比如有监督学习、无监督学习、线性回归等。 讲师介绍:西亭,蚂蚁金服大规模机器学习高级算法专家 课程目标 • 掌握机器学习的概念、原理和算法 适合人群 • 大数据开发者 课程列表 • 第1 章 : 机器学习概念、原理和应用场景 • 课时1:机器学习基础概念 • 课时2:机器学习的领域 • 课时3:机器为什么能学习 • 第2 章 : 机器学习常用算法 • 课时4:监督学习 - 线性回归 • 课时5:非线性回归、过度拟合、模型选择 • 课时6:有监督学习分类 • 课时7:无监督学习 • 第3 章 : 总结与练习 ...阅读全文

【北京】区块链研究院—招聘golang开发—区块链底层开发方向

985学校毕业,本科及以上学历,计算机编程等相关专业,年龄在25-36岁之间 岗位要求: 1.掌握Bitcoin,Ethereum,HyperLedger Fabric等主流区块链技术相关机制与原理; 2.熟练掌握Go,Java,C++等主流区块链系统开发语言至少一种,Go优先,参与过区块链开发社区并贡献源码者优先; 3.了解一些主流NoSQL数据库的原理与使用,尤其是KV型数据库,包括不限于LevelDB,RocksDB等; 4.熟悉Linux操作系统,熟练掌握Docker容器技术的原理,部署和使用优化; 5.熟悉数字加密算法,安全协议,分布式计算。 ...阅读全文

北京区块链创业团队现招技术研发了

北京区块链创业团队现招兵买马了 职位1 技术研发 招收golang、js开发了, 要求工作3年以上,良好基础知识, 精通golang或js开发, 熟练掌握各种常用加密算法,常用数据结构; 开源贡献者优先, github 源码者优先,技术博客者优先; 掌握golang的同时还掌握其他一门或多门语言(如python、c++、java)的加分。 对分布式相关理论和系统有研究者优先 具有技术钻研精神,追求完美,并具有较强自驱学习能力 薪酬:1-3万每月。 另招收在校实习生,懂golang优先,有开源项目经验优先 职位2 技术研发 数学.密码学专业学生 要求 硕士毕业,熟练掌握各种常用加密算法,掌握计算...阅读全文

https系列

一、HTTPS和HTTP的区别是什么? ????http://www.wosign.com/faq/faq2016-0309-01.htm ![image.png](https://static.studygolang.com/181102/a28f18a0311579f149737cce361fc4d8.png) HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输,极易被不法份子窃取和篡改。 HTTPS是HTTP协议的安全版。HTTPS主要作用是: (1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全; (2)对网站服务器进行真实身份认证。...阅读全文

博文 2018-11-02 15:42:54 lobo

【solitidy编程】-生成随机数算法

通过区块因素 引用 fomo3d的空投机制就是这中算法。以太坊代码:生成一个5位的随机数 uint256 winningNum = uint256(keccak256(abi.encodePacked( (block.timestamp).add (block.difficulty).add ((uint256(keccak256(abi.encodePacked(block.coinbase)))) / (now)).add (block.gaslimit).add ((uint256(keccak256(abi.encodePacked(msg.sender)))) / (now)).add (block.number) ))) % 100000; 转乘数字格式: abi.encodeP...阅读全文

博文 2018-10-16 15:34:51 jincheng828

算法代码实现之冒泡排序,Golang(Go语言)实现

有两种相似的方式: func swap(slice []int, i int, j int) { slice[i], slice[j] = slice[j], slice[i]} //第一种冒泡排序func BubbleSort1(slice []int) { length := len(slice) max := length - 1 for i := 0; i < max; i++ { for j := 0; j < max-i; j++ { if slice[j+1] < slice[j] { swap(slice, j, j+1) } } }} //第二种冒泡排序func BubbleSort2(slice []int) { length := len(slice) max := l...阅读全文

博文 2016-02-27 21:00:00 QQ245671051

Go语言实现Fibonacci数列的两个算法(使用递归和不使用递归)

Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后) 第一种,使用递归: func fibonacci(a int) int { if a == 1 || a == 2 { return 1 } return fibonacci(a-1) + fibonacci(a-2) } 第二种,不使用递归: func fibonacci_version2(index int) int { if index == 1 || index == 2 { return 1 } a, b := 1, 1 for i := 3; i <= index; i++ { a, b = b, (a + b) } return a + b } 经过检验,使用非递归算...阅读全文

博文 2015-06-17 23:02:39 books1958

对称加密算法和分组密码的模式

对称加密算法,即加密和解密使用一样的密钥的加解密算法。 分组密码(block cipher),是每次只能处理特定长度的一块(block)数据的一类加解密算法。 目前常见的对称加密算法DES、3DES、AES都是属于分组密码。 DES DES,全称Data Encryption Standard,是上一代标准对称加密算法,现已不推荐使用。 密钥:DES是一种将64bit的明文加密成64bit的密文的对称密码算法,它的密钥长度是64bit(每隔7bit会设置一个用于错误检查的bit,因此实际使用密钥长度56bit)。 分组:DES是以64bit的明文作为一个单位来进行加密的,这64bit的单位称为分组。一般来说,以分组为单位进行处理的密码算法称为分组密码(block cipher),DES就是分...阅读全文

博文 2017-05-15 02:45:06 linjinhe

go语言实现令牌桶算法

package main import ( "fmt" "time" ) var ( lastRequestTime int64 = time.Now().Unix() tokenSurplus int64 = 0 qps int64 = 5 ) func getMin(a, b int64) int64 { if a > b { return b } return a } func getToken() bool { now := time.Now().Unix() temp := (now-lastRequestTime)*qps + tokenSurplus tokenNow := getMin(temp, qps) if tokenNow > 0 { lastRequestTime ...阅读全文

博文 2020-04-10 13:32:41 xxfaxy

go MD5 HASH 算法使用

package main import ( "crypto/md5" "crypto/sha1" "fmt" "io" ) //对字符串进行MD5哈希 func a(data string) string { t := md5.New() io.WriteString(t, data) return fmt.Sprintf("%x", t.Sum(nil)) } //对字符串进行SHA1哈希 func b(data string) string { t := sha1.New() io.WriteString(t, data) return fmt.Sprintf("%x", t.Sum(nil)) } func main() { var data string = "abc" ay := ...阅读全文

博文 2016-11-17 11:00:04 u011082316

子串查找算法-Rabin-Karp

好久没学习东西了, 前段时间有点过于放纵, 天天打游戏, 现在需要写点东西来减轻罪恶感. 对Rabin-Karp早有耳闻, 它可以在Golang官方库中找到, 当初粗略看了下觉得有点复杂就没仔细研究, 现在就看看它吧. 什么是Rabin-Karp算法 Rabin-Karp算法用来解决一个"简单"的问题: 在一个字符串中定位子串的位置. 同样的算法还有: KMP, BM. 关于他两可以再看看这位老哥写的文章:白话分析字符串匹配算法——KMP算法 乍一看这个问题一个for循环就能搞定, 但Rabin-Karp这个神奇的算法能让问题解决得更高效 有趣. 在了解Rabin-Karp之前,我们需要了解for暴力算法的缺点。 暴力算法的缺点 首先从头部开始匹配,如果没匹配到则向后移动一步再次匹配,如此循...阅读全文

博文 2018-11-13 00:34:39 bysir

golang1.7.3的ssh调试,支持diffie-hellman-group-exchange-sha1和aes128-cbc的设备

查看设备支持的kex交换算法和加密算法 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: diffie-hellman-group-exchange-sha1 debug1: kex: host key algorithm: ssh-rsa debug1: kex: server->client cipher: aes128-cbc MAC: hmac-sha1 compression: none debug1: kex: client->server cipher: aes128-cbc MAC: hmac-sha1 compression: none 查看gola...阅读全文

博文 2017-03-02 02:31:05 飞天神猫

互融云数字货币永续合约交易系统

永续合约 是一种衍生品。从交易的角度来说,它类似于传统的期货合约,但又有一些不同之处。首先它没有到期或结算日,永续掉期合约类似于一个保证金现货市场,因此它的交易价格接近于标的参考指数价格,这与期货合约不同,由于基差的原因,期货合约的交易价差可能存在显著的不同。其次锚定现货价格的主要机制是资金费用。互融云推出的永续合约交易系统支持双向交易,多杠杆,多风险控制,风险管控分为警戒线,禁止开仓线,强平线,降低用户风险率;并且平台引入了用户和平台对赌,以及代理商推荐返佣机制,推动了平台用户的发展。1)系统角色 2)交易流程 互融云数字货币永续合约交易系统介绍:1)合约模型设计交易方式:市价交易、限价交易合约周期:无定时交割时间,用户可自由选择交割时间隔夜费设置:用户购买每超过24小时则会收取隔夜费合约...阅读全文

博文 2019-08-19 20:02:47 互融云软件

(北京)招聘高级技术经理,必须有交易所经验

招聘:高级技术经理,必须有交易所经验岗位要求:1. 交易所研发经验3年以上,有区块链底层开发经验优先2. 熟悉Ethereum,Bitcoin,超级账本Hyperledger Fabric等实现和基础架构(至少其中一种),3. 了解区块链基础原理,有实际研发经验者优先4. 编程基础扎实,精通Golang、Nodejs、c++、python等语言至少一种,有JavaScript,solidity等语言经验更佳,参与区块链开发社区并贡献5. 熟悉密码学。安全协议和加密算法,对于各种数据结构和算法有研究6. 具有分布式系统设计经验7. 熟练掌握P2P分布式网络开发优先8. 理解各类主流共识算法,包括但不限于POW,POS,DPOS,PBFT,PAXOS,RAFT9.了解主流NoSQL数据库原理与使...阅读全文

博文 2019-01-26 05:34:43 链才网

互融云开发数字货币永续合约交易系统-搭建永续合约交易平台

互融云开发数字货币永续合约交易系统-搭建永续合约交易平台互融云从事虚拟货币智能永续合约APP开发,虚拟货币智能永续合约网站开发,从事虚拟货币智能永续合约产品定制,是专业的区块链数币永续合约交易系统软件开发公司。互融云作为国内领先的数字资产交易所系统开发商,用实际行动践行着安全创新可信赖的理念,前进的脚步从不停歇。在合约产品上,凭借着深厚的底蕴经验加完美的交易机制,互融云合约交易系统已经成为企业手中必不可少的亮点产品,永续合约交易系统便是其中之一:系统特点经过多轮测试,保证了K线的稳定性永续合约采用的是springboot提供微服务,合约账户进行了加密,确保资金安全通过专用的golang脚本稳定高效的抓取和修复k线数据通过多线程和特有算法以及专用并发锁来快速及时的计算并分析风险率并进行相应的处...阅读全文

博文 2019-08-26 15:33:16 北京互融时代

GO 语言写的加密算法(附 java 版翻译)

下面的代码主要是看DES加密算法时,发觉能力有限只会一点点,那就让我会的那一点与base64加密用在一起而已。 代码如下: package xlib import ( "crypto/md5" "fmt" "io" ) func XEncode(b, key []byte) (r_buf []byte) { l := len(key) if l%64 != 0 || l == 64 { return } m := make(map[byte]byte) for i := 0; i < 64; i++ { m[key[i]] = byte(i) } b_len := len(b) k := b_len % 8 r_buf = append(r_buf, byte(k)) for i := 0;...阅读全文

博文 2015-06-17 23:01:42 juxuny

golang实现LRU算法

LRU缓存淘汰算法LRU是最近最少使用策略的缩写。双向链表实现LRU将Cache的所有位置都用双链表连接起来,当一个位置被访问(get/put)之后,通过调整链表的指向,将该位置调整到链表尾的位置,新加入的Cache直接加到链表尾。这样,在多次操作后,最近被访问(get/put)的,就会被向链表尾方向移动,而没有访问的,向链表前方移动,链表头则表示最近最少使用的Cache。package main import ( "fmt")type Node struct{ Key interface{} Value interface{} pre *Node next *Node}type LRUCache struct { limit int HashMap map[interface{}]*Nod...阅读全文

博文 2020-03-18 11:32:52 永明_3c16

微信golang签名算法

type WXPrams struct { m map[string]interface{} // 参数 sign string // 签名 } func (p *WXPrams) InitSign() { var keys []string for k, _ := range p.m { keys = append(keys, k) } sort.Strings(keys) builder := strings.Builder{} for _, v := range keys { builder.WriteString(v) builder.WriteString("=") builder.WriteString(fmt.Sprint(p.m[v])) builder.WriteStrin...阅读全文

博文 2019-01-02 19:34:46 AlberLiu

Maglev Hashing介绍

自 論文中文導讀-Maglev。原文为繁体字,为方便阅读,此处改为简体。 Maglev 前言 这一篇论文吸引我注意的原因是, Consistent Hashing 本来的特性就是作为 Distributed Caching 之用. 但是 Google 将他们的 Load Balancer (代号: Maglev ) 公布他的实作方式,里面并且将 Consistent Hashing 做了一些小改版来符合他们的需求. 由于我之前就有学习过 Consistent Hashing ,所以相当好奇 Google 能够如何地将它更进一步地做提升. 就想要阅读这一篇论文. 本篇导读主要内容如下: 介绍 Maglev 的特性与其改善的部分 回顾 Consistent Hashing 介绍 Maglev H...阅读全文

博文 2018-12-17 16:34:49 seawish

每天一道算法题:岛屿的个数

算法题:岛屿的个数 难度:中级 实现语言:golang 岛屿.png 思路:从顶点(0,0)开始,分别向左右上下遍历,遇见1设置为0,遇见0停止,遍历到4个方向都为1则加1 package main import "fmt" func main() { var graph1 = [5][5]int{ {1, 1, 0, 0, 0}, {1, 1, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 1, 1}, } graph1 = [5][5]int{ {1, 1, 1, 1, 0}, {1, 1, 0, 1, 0}, {1, 1, 0, 0, 0}, {0, 0, 0, 0, 0}, } var count int for i := 0; i < 5; i++ { ...阅读全文

博文 2018-07-03 22:34:43 one_zheng

加密算法排排队

最近在看 Golang 的标准库,看到 crypto 中的 aes、des、 ars、sha 等等,顿时觉得熟悉又陌生,平时开发时遇到需要加密解密的时候总是看看文档 copy 过来,不求甚解,是时候把他们排排队,分分类了。 对称加密 同一个密钥 常见算法:DES、3DES、DESX、RC4、RC5、RC6和AES DES (Data Encryption Standard) 类:最早的一批加密算法,主要用于金融和嵌入式设备,但由于用密钥(56位)过短,所以安全性受到质疑。 注:其实,编程的世界里非常注重命名,尤其是协议和规范,所以我们不能只看缩写,还是得了解一下缩写代表的是哪几个单词。 AES (Advanced Encryption Standard) 从名字上可以看出是更为安全的加密方式...阅读全文

博文 2017-09-29 21:04:57 王安正

[Golang软件推荐] RSA公私钥加解密(解决Golang私钥加密公钥解密问题)

安全是软件开始中很重要的一个环节,在金融场景以及设计资产的场景下更是如此,在加密算法中主要使用较多加密方式分别是对称加密和非对称加密,对称加密中的代表是AES,DES,3DES等,非对称加密中使用比较多的是RSA,ECC等,最近火热的比特币中就使用ECC椭圆曲线算法,本篇文章主要是笔者在使用Golang在使用RSA中使用私钥加密公钥解密中遇到的问题,以及寻找的解决方案进行阐述,希望可以帮助到大家! 附上: 喵了个咪的博客:w-blog.cn gorsa-Github地址:https://github.com/farmerx/gorsa 喵咪优化过的gorsa-Github地址:https://github.com/wenzhenxi/gorsa PS:特别感谢farmerx提供的gorsa实...阅读全文

博文 2020-02-21 14:32:48 文振熙

golang实现一致性hash

package main //一致性哈希(Consistent Hashing) //author: Xiong Chuan Liang //date: 2015-2-20 import ( "fmt" "hash/crc32" "sort" "strconv" "sync" ) const DEFAULT_REPLICAS = 160 type HashRing []uint32 func (c HashRing) Len() int { return len(c) } func (c HashRing) Less(i, j int) bool { return c[i] < c[j] } func (c HashRing) Swap(i, j int) { c[i], c[j] = c[...阅读全文

博文 2019-08-13 12:32:49 成功的失败者

golang crypt包的AES加密函数的使用

golang AES加密函数的使用 什么是AES AES: Advanced Encryption Standard 高阶加密标准,是用来代替 老的DES的。 AES加密算法的加密块必须是16字节(128bit),所以不足部分需要填充,常用的填充算法是PKCS7。 AES加密算法的key可以是16字节(AES128),或者24字节(AES192),或者是32字节(AES256) AES算法的具体实现种类 ECB:Electronic Codebook Book CBC:Cipher Block Chaining:这是最常见的块加密实现 CTR:Counter CFB:Cipher FeedBack OFB:Output FeedBack 具体的差异我也没去弄明白,知道这么个意思,加密算法稍后...阅读全文

博文 2020-03-13 11:33:01 CodingCode

【译】并发、协程和GOMAXPROCS

####介绍 当有新人加入Go-Miami组,他们经常希望去学习的并发模型。当我刚刚开始听说Go语言的时候,并发似乎看起来是这门语言的热门词汇。当我看了Rob Pike的Go并发模式的视频之后,我认为我应该去学习这门语言了。 为了去理解是如何通过Go语言编写出更简单、难出错的并发程序,我们首先需要去理解什么是并发程序和并发程序的结果是什么这两个问题。我不会去讲述CSP(通信顺序进程、Communicating Sequential Processes),这是Go语言实现管道(channel)的基础。这篇文章将着重讲并发是什么,协程的角色是什么,环境变量GOMAXPROCS和运行时函数如何影响Go语言的程序的执行。 ####进程和线程 当我们运行一个应用,比如我写这篇文章用的浏览器,操作系统会...阅读全文

博文 2017-02-09 12:25:31 Bryce

【go密码学】-对称加密算法

介绍 对称加密算法是相对于非对称加密算法而言,两者的区别在于,对称加密和加密和解密时使用相同的秘钥,而非对称加密在加密和解密时使用不同的秘钥(公钥和私钥)。常见的对称加密算法:DES、3DES、AES。 DES DES的基础结构,由IBM公司的Horst Feistel设计,因此称Feistel网络。在Feistel网络中,加密的每个步骤称为轮,经过初始置换后的64位明文,进行了16轮Feistel轮的加密过程,最后经过终结置换后形成最终的64位密文,如下图: go实现DES package main import ( "bytes" "fmt" "crypto/des" "crypto/cipher" "encoding/base64" ) //利用秘钥通过DES算法实现明文的加密 //利...阅读全文

博文 2018-10-11 17:34:42 jincheng828

golang排序算法(sort)简单好用

golang排序,是我们锻炼逻辑必不可少的,不会可以QQ联系 2817228206。相互学习。本人是小白。写的比较简单,推荐用官网的包。package mainimport "fmt"func numsum(arr []int) []int { sum := []int{} ksum := 0 vsum := 0 for _, v := range arr { for ka, va := range arr { if va > v || len(arr) == 1 { ksum = ka vsum = va } } } sum = append(sum, ksum, vsum) return sum}func main() { var arr = []int{} arr = append(a...阅读全文

博文 2020-03-18 17:32:54 bert_7eb4

go语言对称加密算法

package main import ( "bytes" "crypto/aes" "crypto/cipher" "crypto/des" ) // des的CBC加密 // 编写填充函数, 如果最后一个分组字节数不够, 填充 // ......字节数刚好合适, 添加一个新的分组 // 填充个的字节的值 == 缺少的字节的数 func paddingLastGroup(plainText []byte, bloclSize int) []byte { // 1. 求出最后一个组中剩余的字节数 28 % 8 = 3...4 32 % 8 = 4 ...0 padNum := bloclSize - len(plainText) % bloclSize // 2. 创建新的切片, 长度 ==...阅读全文

博文 2019-10-16 10:02:43 吾爱美人

兄弟连区块链教程区块链信息安全3椭圆曲线加解密及签名算法的技术原理一

区块链教程区块链信息安全3椭圆曲线加解密及签名算法的技术原理一,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 # 椭圆曲线加解密及签名算法的技术原理及其Go语言实现 椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。 相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。 据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。 椭圆曲线在密码学中的使用,是1985年由Neal Koblitz和...阅读全文

博文 2018-11-09 13:51:31 ITXDL

判断一棵二叉树是否是平衡二叉树

所谓平衡二叉树,是指一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 3 / \ 9 20 / \ 15 7 返回真 1 / \ 2 2 / \ 3 3 / \ 4 4 返回假 递归算法(golang): /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func isBalanced(root *TreeNode) bool { if root == nil { return true } if isBalanced(root.Left) == false { re...阅读全文

博文 2018-12-20 16:34:48 波涛澎湃

视频笔记:Go 密码学应用 - George Tankersley

视频信息 Don’t write your own crypto 经常听到这样的建议 TLS GPG 这个 Talk 不讲 TLS 和 GPG 在 Go 的 crypto 包里的算法可不都是好的算法 加密 哈希散列 Hash 密码 签名 视频信息 #Go for Crypto Developersby George Tankersleyat GopherCon 2016 https://www.youtube.com/watch?v=2r_KMzXB74w 幻灯地址:https://speakerdeck.com/gtank/crypto-for-go-developers代码:https://github.com/gtank/cryptopasta Don’t write your own...阅读全文

博文 2017-10-05 06:43:47 大桥下的蜗牛

Go语言如何实现遗传算法

文:Go with Genetic Algorithms 作者:5280incode 翻译:Diwei 出于好玩的心态,我决定学习一下Go语言。我认为学习新语言最好的方法就是深入学习,并且尽可能多犯错误。这样做虽然可能会很慢,但是可以确保在后面的过程中再也不会出现编译的错误。 Go语言与我习惯的其他语言不同。Go更喜欢自己单独实现,而其他像Java这类语言更喜欢继承。其实在Go语言里面根本没有继承这种概念,因为它压根就没有对象这一说法。比如说C语言,它有结构体,但是没有类。但是这样它还是可以有像“构造者”这样的常见思想和设计模式(一种在这种情况下有序地产生结构体的方式)。 Go语言坚决拥护组合(composition),同时也很反对继承的做法,在网络上引起了强烈的讨论,同时也让人们重新思考了...阅读全文

博文 2019-03-14 11:32:39 js_gary

年薪30-100W急聘“GO语言工程师、区块链开发工程师、区块链架构师、区域链首席技术官”

有兴趣的技术大牛,可以加本人微信:13826118650,此岗位均属紧急职位,只要您有实力,薪资一定能超过您的期望值。欢迎随时来聊。 工作地点:广州琶州(办公环境优美、交通便利)、中午午餐 区块链平台架构师 岗位职能: 1.负责对区块链产品解决方案架构进行设计,并参与区块链技术的前瞻性技术预研; 2.负责研究Hyperledger fabric的加密技术、共识算法和底层实现; 3.参与各个区块链开发社区并贡献源码者优先;参与公司区块链底层核心模块和架构的开发; 4.参与区块链技术在行业应用中的衔接与落地。 任职要求: 1.本科及以上学历,计算机、软件等相关专业,5年以上产品架构或研发工作经验; 2.对区块链产品有深入了解,精通至少一种Hyperledger、以太坊、比...阅读全文