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

南京邮电大学CTF密码学之MD5-golang与php代码实现

题目内容:这里有一段丢失的md5密文 e9032???da???08????911513?0???a2 要求你还原出他并且加上nctf{}提交 已知线索 明文为: TASC?O3RJMV?WDJKX?ZM 题目来源:安恒杯 简单的MD5密码碰撞,通过对比密文e9032 与加密后的数据 定位相关信息 解题代码如下 GO语言版 package main import ( "crypto/md5" "io" "encoding/hex" "strings" "fmt" ) var Enable = []rune{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X...阅读全文

博文 2018-07-21 00:30:02 xuthus

【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

视频笔记: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 大桥下的蜗牛

电脑换IP-更换内网ip地址

要改公网的的IP首先是你有PPTP的帐号密码服务器地址,有了后点击图一建立新的网络连接,点击连接到工作区。点击连接到我的,输入服务器的地址点击下一步。输入帐号密码后点击下一步,接着点击立即连接即可。如果你拥有的是国外的帐号,那么连接后就是国外的IP地址了。等于是更换了公网的IP地址...阅读全文

博文 2019-03-06 10:41:18 xiniuxiaoniu

go语言使用哈希算法对用户输入的密码进行加密用户登录时对用户的密码进行比对

# 哈希算法 ** 文章转自go语言中文文档 [http://www.topgoer.com](http://www.topgoer.com/?from=studygolang "文章转自go语言中文文档http://www.topgoer.com") ** ### 使用场景 + 对用户输入的密码进行加密 + 用户登录时对用户的密码进行比对 ### 例子 ```go package main import ( "errors" "fmt" "golang.org/x/crypto/bcrypt" ) func main() { userPassword := "123456" passwordbyte, err := GeneratePassword(userPassword) if err...阅读全文

博文 2020-02-20 11:02:46 lu569368

内部API的安全防护怎么搞?密码学中有答案

前言 事情的起因是公司之前的CDN服务是通过腾讯云的COSFS来做的,它的好处是可以像使用本地文件系统一样直接操作腾讯云对象存储中的对象,但后来因为性能等因素,我花时间把上传文件到CDN的功能用SDK重写了(其实可能比搭个COSFS还简单呢)。 前端同事恰好也有图床的使用需求,就想让我给他们开个API,这样他们就可以直接通过代码上传文件了,而不用每次都找后端同事帮忙。这件事本身没什么难度,唯一的问题是这个API的安全方面如何保证,至少不能让外人勿用。 分析 其它业务上的API都是用的用户登录后的token及用户的权限进行验证,眼下这种用于开发需求的API虽然也可以用同样的方式来做,但一方面不够方便(上传个图还要先登录,想想就麻烦),另一方面安全性也还是差些(是不是所有登录的用户都能调用呢?如...阅读全文

博文 2019-08-26 15:33:14 海之方

内部API的安全防护怎么搞?密码学中有答案

前言 事情的起因是公司之前的CDN服务是通过腾讯云的COSFS来做的,它的好处是可以像使用本地文件系统一样直接操作腾讯云对象存储中的对象,但后来因为性能等因素,我花时间把上传文件到CDN的功能用SDK重写了(其实可能比搭个COSFS还简单呢)。 前端同事恰好也有图床的使用需求,就想让我给他们开个API,这样他们就可以直接通过代码上传文件了,而不用每次都找后端同事帮忙。这件事本身没什么难度,唯一的问题是这个API的安全方面如何保证,至少不能让外人勿用。 分析 其它业务上的API都是用的用户登录后的token及用户的权限进行验证,眼下这种用于开发需求的API虽然也可以用同样的方式来做,但一方面不够方便(上传个图还要先登录,想想就麻烦),另一方面安全性也还是差些(是不是所有登录的用户都能调用呢?如...阅读全文

博文 2019-08-26 14:04:22 raining1127

区块链概况:什么是区块链

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 区块链技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。 wikipedia 给出的定义为: A blockchain —originally, block chain —is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists of data structure blocks—which hold exclusively data in initial blockchain implement...阅读全文

博文 2019-09-26 16:33:14 链客

区块链密码学

链客,专为开发者而生,有问必答!此文章来自[区块链技术社区](https://www.liankexing.com),未经允许拒绝转载。 区块链密码学11一 、概念主要介绍非对称加密的一些概念。公钥、私钥:均可加密或解密。私钥用来解密和签名,给自己用的。公钥由本人公开,用于加密和验证签名,给他人用的。验签:用公钥解密签名得到摘要,然后用原始文件经过hash得到摘要,与解密出的摘要进行对比。 签名:内容->hash->digest->私钥加密->签名 证书:数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机构的公章,即CA的私钥加密生成)后形成的一个数字文件。二、举例说明假设X给Y写一份信,那么这封将...阅读全文

博文 2019-06-21 16:02:43 链客区块链技术问答社区

区块链

区块链技术起源于化名为“中本聪”(SatoshiNakamoto)的学者在 2008 年发表的奠基性论文《比特币: 一种点对点电子现金系统》。狭义来讲, 区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本...阅读全文

博文 2020-04-21 10:05:02 wjl2020

golang expect包的使用介绍

最近和业务的相关人员对接某一需求时,其提出希望能在业务服务器上不给业务人员密码信息,而能通过执行某个命令后由usera变成userb。这个需求其实用expect 就可以实现,不过使用tcl 语言编写的脚本里密码还是以明文出现的,业务是想通过安装pexpect (python)包,通过生成pyc的文件,略微增加下安全性。不过想了下,可以通过使用golang下的expect实现同样的效果,而且安全性更强。 经搜索引擎检索,发现 https://github.com/ThomasRooney/gexpect/ 可以实现该效果,而且在该包的examples里提供了ftp、ping、python、screen相关的使用示例。这里如果使用su切换用户,代码比较简单,如下: //code from www...阅读全文

博文 2018-12-18 19:35:48 扬那个杨

JAVA程序员的业务观

作者 这篇文章是受漫谈工程师的三观的启发所写。常常听到做业务的程序员抱怨自己现在做的业务没有意思,学不到东西,用不到新技术,用的也都是翻来覆去的技术,得不到成长。很多程序员在经历这个过程时,很多调整不了也就离职了,也许走向了一个新的技术兴奋点,有些可能是换了个新的业务继续循环。那我们程序员在遇到这种事情的时候应该怎么调整,应该向哪个方向走。现在关于程序员的三观(技术观、产品观和数据观)已经算是普天盖地了,那什么是业务观。业务开发最好的体验就是从一个业务从起步-> 快速发展->业务稳定发展->…… 的过程,而在业务不同的过程中能够清晰定位开发人员在业务中的角色,能够从技术的角度支持业务。一、程序员的三观1、技术观技术是程序员的核心竞争立,什么才是好的技术观。好的技术观应该是不排斥新技术,不排斥...阅读全文

博文 2017-09-06 04:35:24 java大湿兄

【他山之石】大话密码学·默克尔树·章三 扬前帆

前帆(Jib):主桅杆前面使用的帆 基本定义 Merkle Tree 是由计算机科学家 Ralph Merkle 在很多年前提出的,并以他本人的名字来命名,中文翻译过来叫默克尔树,也叫哈希树。 哈希树 主要用途 Merkle Tree 常用来做完整性校验的,所谓的完整性校验,就是检查一下数据有没有损坏或者被恶意篡改。 Merkle Tree 的最大的应用场合就是在点对点网络上,早期的 BT ,电驴,快播等各种下载器,以及目前普遍使用的 Git 版本控制系统,NMP包管理,GoLang 包管理,IPFS 协议以及比特币以太坊等等项目都用到了它。例子太多了……欢迎补充…… Merkle Tree Merkle Tree 如果直接去看定义,会看到一张比较复杂的图,可能会把你一下子吓到,然后就不想学...阅读全文

IPFS与Filecoin 从入门到精通

《IPFS与Filecoin 从入门到精通》 在接触 IPFS 之后,对这种可以本质上改变网络数据的分发机制的协议非常感兴趣,但由于目前国内并没有比较深入分析 IPFS 的书籍,而一些资料因为英文的缘故在一定程度上也为不少 IPFS 爱好者带来了一些学习上的困扰,不仅为了加快扩散 IPFS 爱好者的国内群体,决定以开源的形式完成这本《IPFS与Filecoin 从入门到精通》的书籍。 写作进度 目前进度第10章项目地址 支持本书 如果你时间有空闲并且想要为本书 《IPFS与Filecoin 从入门到精通》做一些力所能及的工作,你可以参与到本书的写作或纠正工作中来,一同完善本书并帮助壮大 IPFS 在国内的学习群体,让大家更快的使用 IPFS与Filecoin。 授权许可 除特别声明外,本书中...阅读全文

博文 2019-08-20 20:02:37 xcshuan

IOST主网Olympus 3.3.2版本正式上线

​2019年2月25日IOST主网Olympus v1.0正式上线,通过独创的PoB共识机制实现了其横向扩容和高吞吐量的目标,带来了全球首个可同时支持数千节点与高TPS的去中心化扩容平台。主网上线以来,IOST已拥有400余位节点合伙人,覆盖全球20多个国家。不仅如此,IOST同时对主网进行了多频次、多方位的版本升级与改进,并于今日正式上线3.3.2版本。 IOST主网Olympus v3.3.2进一步完备了密码学库,为跨链、原子互换奠定良好的开发基础;新增了裁剪区块数据工具,减少磁盘使用的同时保障节点的稳定运行,极大地降低了节点加入IOST主网的门槛。此外,IOST技术团队通过对代码质量的优化,提升了主网运行时的程序稳定性,提升测试从而保障安全性能,并设计了更好的代码管理。以下为最新版本主...阅读全文

博文 2020-03-05 03:32:41 iostpanda

gitlab-1

简单总结部署gitlab docker 的流程(针对ubuntu 16.04)一 准备1. 安装 docker2. 安装gitlab-ce docker run -d --privileged -p 443:443 -p 80:80 --name gitlab --restart always -v /root/gitlab/config:/etc/gitlab -v /root/gitlab/logs:/var/log/gitlab -v /root/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest挂载目录可以修改3 安装gitlab-runnerdocker run -d --name gitlab-runner --add-host...阅读全文

博文 2018-08-14 13:35:25 wwq1988

密码学系列 - 签名

签名是用于消息的认证,保证该条消息不被伪造。本文主要讨论RSA签名、DSA、ECDSA 和 Schnorr 签名算法。 RSA签名 安全性建立在大数分解问题 公钥:E、N 私钥:D、N 签名:签名 = 消息^D mod N 验证:消息' = 签名^E mod N ,如果消息'==消息则验证成功 DSA 由NIST(美国国家标准技术研究所)1991年制定的数字签名技术规范,是Schnorr算法的变体。 安全性建立在离散对数问题 密钥生成(1024bits): 生成素数 p, 找到 p-1 的一个素数 q,且 找到 ord(a)=q 的元素 a,a 生成了拥有 q 个元素的子群 生成随机数,0 < d < q b = mod p 则密钥对为: = (p,q,a,b), = (d) 签名生成: 随...阅读全文

博文 2019-10-28 19:32:47 aside section._1OhGeD

练习:密码生成工具

实现一个密码生成工具,支持以下功能: a) 用户可以通过-l指定生成密码的长度 b) 用户可以通过-t指定生成密码的字符集,比如 -t num 生成全数字的密码 -t char 生成包含全英文字符的密码, -t mix 包含生成数字和英文的密码, -t advance 生成包含数字、英文以及特殊字符的密码package main import ( "crypto/rand" "flag" "fmt" "math/big" ) func generatePassword(l int, t string) string { var password string var elements []rune switch t { case "num": elements = []rune{'0', '...阅读全文

博文 2020-01-07 16:49:25 go100

go语言ssh客户端解决密码过期问题

go语言的ssh包居然不支持密码过期重置的功能!版本:go v1.14.1 linux环境下安装的。ssh包:git clone https://github.com/golang/crypto.git是2020年4月1号左右下载的。 先描述一下问题的现象,以及必须得解决这个问题的原因:正常的ssh客户端,如果密码过期了,或者不符合密码规则,在登陆的时候终端都会提示一段话,比如过期之类的。然后会提示你在终端输入旧密码,再输入新密码,然后确认,从而完成密码修改。 然而用这个ssh包,执行ssh.Dial的时候,如果遇到密码过期,这个函数会直接返回一个错误,并不会给你修改新密码的机会! 而我的项目恰恰需要这个功能。因为我的项目是服务器通过ssh客户端推送脚本到一个设备,其中就有修改密码的脚本,目...阅读全文

博文 2020-04-17 10:32:42 cuidi