公钥私钥以及比特币地址的产生过程

一个比特币钱包包含一系列的密钥对,每个密钥对都有一个公钥(PublicKey)和私钥(PrivateKey)。私钥是由一个随机产生的数字串经过哈希的十六进制字符串,通过椭圆加密算法可以用私钥产生公钥,然后就可以通过公钥产生比特币地址。从私钥到公钥再到比特币地址是一个单向产生的过程,也就是说不能反向的用比特币地址解出公钥,或者从公钥解出私钥。 私钥 私钥其本

Linux系统编译Openssl步骤

1.提前准备工作去https://www.openssl.org网站下载openssl源码或用git命令从github上下载gitclone https://github.com/openssl/openssl.git解压openssl开发包文件tar-xzfopenssl-1.1.0c.tar.gz2.在终端下操作如下进入刚才解压的文件夹,如图所示image-设定Openssl安装路径,( --prefix )参数为欲安装之目录,执行如下命令:​./config--prefix=/usr/local/o

Ubuntu命令卸载软件

1.打开一个终端,输入dpkg--list,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。 2.在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。 3.在终端上输入命令sudoapt-get--purgeremove包名(--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudoapt-getremove包名),此处我要删除的是polipo,那么在终端输入sudo

EKT搭建私链

1.首先,打开终端,将目录切换到EKT路径下,输入命令make,此命令会编译EKT项目cmd包下的两个main.go文件 2.编译完成之后,会在EKT目录下产生一个bin目录,将路径切换到bin目录中,新建一个创世区块文件genesis.json,内容类似下面这样 { "version":"v2.0",//版本号 "dbPath":"db/",//数据库路径 "logPath":"log/ekt8.log",//日志路径 "debug":true,//是否开启debug模式 "env":"localnet

重建二叉树(Golang)《剑指offer》

题目描述: 输入某个二叉树的前序遍历和中序遍历的结果,请重建该二叉树。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建如图所示的二叉树并输出它的头节点。 主要代码如下: typeBinaryTreeNodestruct{ Valueint

加密算法之(二)--- TEA加密算法

tea加密算法采用CBC加密模式: 优点: 1.不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。 缺点: 1.不利于并行计算; 2.误差传递; 3.需要初始化向量IV 更多加密模式请参考:http://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html Tea算法秘钥为16字节,每次分块处理的数据是8个字节,两个32位数据。 加密过程中,加法运算和减法运算用作可逆的操作,算法轮

加密算法------DES加密算法详解

一、加密算法的分类1.对称加解密算法a.通信双方同时掌握一个密钥,加密解密都是由一个密钥完成的(即加密密钥等于解密密钥,加解密密钥可以相互推倒出来)。b.双方通信前共同拟定一个密钥,不对第三方公开。c.不具有个体原子性,一个密钥被共享,泄漏几率增大2.公私钥加解密算法a.通信双方掌握不同的密钥,不同方向的加解密由不同的密钥完成。二、对称加密算法的

java.security.NoSuchAlgorithmexception: RipeMD160 MessageDigest not available

在执行RipeMD160时debug版本没事,apkrelease版本报java.security.NoSuchAlgorithmexception:RipeMD160MessageDigestnotavailable /** *RipeMD160消息摘要 *@paramdata待处理的消息摘要数据 *@returnbyte[]消息摘要 **/ publicstaticbyte[]encodeRipeMD160(byte[]data)throwsException{ //加入BouncyCastlePro

你了解这些算法吗?SHA256、RIPEMD-160、DES、AES、RSA、ECC

一、HASH算法 哈希散列算法和哈希摘要算法都叫做哈希算法。 (1)概念: 把一段任意长度的数据变成均匀分布固定长度的数据、反之不可以 Hash不可逆 在任何电脑,手机,或者笔算Hash值都是一样的 y=Hash(x) 已知x可以得到y,反之不可以 Hash散列就像一个人的指纹 Hash的结果y是均匀分布的 (2)常见hash算法 MD564位(Message-DigestAlgorithm5消息摘要算法第五版) 安全哈希算法S

RSA加密解密

什么是RSA RSA是一种公钥密码算法,它的名字是由它的三位开发者,即RonRivest、AdiShamir和LeonardAdleman的姓氏的首字母组成的(Rivest-Shamir-Adleman)。 RSA可以被用于公钥密码和数字签名。 RSA加密 在RSA中,明文、密钥和密文都是数字。RSA的加密过程可以用下列公式来表达: 密文=明文EmodN(RSA加密) RSA的密文是对代表明文的数字的E次方求modN的结果。换句话说,就是将 明文和自己做E

【加密算法】3DES加密算法

3DES        3DES(或称为TripleDES)是三重数据加密算法(TDEA,TripleDataEncryptionAlgorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。        3DES又称TripleDES

用 Go 构建一个区块链 -- Part 5: 地址

翻译的系列文章我已经放到了GitHub上:blockchain-tutorial,后续如有更新都会在GitHub上,可能就不在这里同步了。如果想直接运行代码,也可以cloneGitHub上的教程仓库,进入src目录执行make即可。 引言 在上一篇文章中,我们已经初步实现了交易。相信你应该了解了交易中的一些天然属性,这些属性没有丝毫“个人”色彩的存在:在比特币中,没有用户账户,不需要也不会在任何地

Java使用Itext5.5.10进行pdf签章

啰嗦 说到PDF数字签名签章,这个其实也是数字证书信息安全的应用范畴,关于数字证书和数字签名,网上有很多解释说明,但讲解都多不够详细准确,这边推荐一篇大神的博文,讲解浅显易懂形象数字证书数字签名数据加密。刚入门CA行业的人,可以入门看看。 言归正传,正文开始 Itext包和BC包 要自己实现PDF数字签章,是一件极其浩大的工程,难度很大(看看市面上多少

OpenSSL 命令详解(二)——摘要算法、签名、验签

本文主要介绍OpenSSL摘要计算命令。 ref:http://blog.csdn.net/as3luyuan123/article/details/14046375 用什么摘要算法指令代替时,默认使用该算法,但也可以指定其他算法。 使用指令openssldgst- dgst指令可以用其他摘要算法指令(如md4md5sha1…)代替,含义一样 计算摘要值 未指定特定摘要算法时,默认使用md5算法。 用法: openssldgst[-算法名称][-其他选项]inputfile

比特币 区块链 几种交易标准详解 P2PKH、P2PK、MS、P2SH加密方式

快速术语检索 以下文中会可能会用到,以及看此文前可能会需要理解的几个术语。 地址 比特币地址(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串字符和数字组成,以阿拉伯数字“1”开头。就像别人向你的email地址发送电子邮件一样,他可以通过你的比特币地址向你发送比特币。 比特币 “比特币”既可以指这种虚拟货币单位,也指比特币网络或者网络节点使用的比特币软件。

DES、3DES加密算法

DES加密算法,为对称加密算法中的一种。70年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称的由来:DataEncryptionStandard。对称加密算法,是相对于非对称加密算法而言的。两者区别在于,对称加密在加密和解密时使用同一密钥,而非对称加密在加密和解密时使用不同的密钥,即公钥和私钥。常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆曲线加密算

python : sha256 、ripemd160

sha256、ripemd160 哈希值的输出值一般是16进制的字符串。而16进制字符串,每两个字符占一个字节。我们知道,一个字节=8bit. 以sha256为例: bit:256位bit->64位16进制字符->32个字节。 而ripemd: bit:160位,->40位16进制字符->20个字节。 importhashlib #fromCrypto.CipherimportAES #fromCrypto.HashimportSHA256 print("welcomep

UDP协议与IP协议浅析

TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图 所谓的协议就是双方进行数据传输的一种格式。整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档。在这里只对IP、UDP协议头做一个分析。 首先来看看在网络中,一帧以太网数据包的格式: UDP协议 UDP协议也是传输层协议,它是无连接,不保证可靠的传输层协议。在传

Golang 使用gomail包发送邮件

Golang使用gomail包发送邮件 Gomail Gomail是一个简单、高效的发送电子邮件包,它经过良好的测试和记录。 Gomail只能使用SMTP服务器发送电子邮件,但是API比较灵活的,很容易实现其他方法使用本地Postfix、API等发送电子邮件。 项目地址:https://github.com/go-gomail/gomail 文档:https://godoc.org/gopkg.in/gomail.v2 示例:https://godoc.org/gopkg.in/gomail.v2

腾讯云搭建vsftpd服务器

腾讯云搭建vsftpd服务器 1.背景 为了方便一些外部公司的数据回流,在内网搭建ftp服务器存在一些安全隐患,所以我们选择在腾讯云上搭建服务器,同时采用一些安全策略来提高服务的安全性。下面将对整个配置过程进行描述,方便后来人参考。 1.1实现目标: 匿名用户不能登录 分两个虚拟账户,一个账户有上传权限,另一个有下载权限,且只能在自己宿主目录中操作 配置IP白