区块链系统开发技术:加密、密钥文件、私钥


发布时间:2018-10-11 点击:43

文章来讲解一下加解密、以太坊的密钥文件、私钥。

什么是非对称加密?




加密解密过程


在回答这个问题之前,我们就先讲一下什么是对称加密。所谓对称加密就是在整个加密解密过程中,加密的密钥和解密的密钥都是同样的。举个例子,我们要加密的明文是123,我们用1作为我们的密钥,那么整个加解密过程如下:



对称加解密示例


对称加密是加密和解密的密钥一样,那么顾名思义,非对称加密就是加密和解密的密钥不一样。加密的密钥可以让其他人知晓,称为公钥;解密的密钥只能自己知晓,叫做私钥。非对称加密相对于对称加密的优势就在于,传递信息的双方只需要传递公钥,而且公钥是公开透明的,不用担心密钥泄漏问题。在区块链中使用的就是非对称加密。在区块链系统中,当进行交易时,就需要用到私钥(具体怎么用我们后面其它文章讲解)。

既然进行交易时需要私钥,那么我们具体看看以太坊的私钥是放在哪里的呢?


12.jpg


密钥文件是什么?


密钥文件是创建账户时存在的,它用一个密码保护你对应账户的私钥,可以理解为用密码将你的私钥进行加密后存储的文件。所以,对于以太坊的用户来说,除了要保存好keystore中的密钥文件以外,还需要保护好你创建账户时对应的密码。因为在实际使用时,是通过密码和keystore中的密钥文件一起,恢复出你的私钥,然后进行交易。

如果你非要想看看你以太坊账户的私钥是啥样,那怎么实现喃?


这里我查了一点资料(未实际测试),是用node.js实现的,具体如下:

var keyth=require('keythereum')

var keyobj=keyth.importFromFile('0x...your..ether..address..','your data dir')// your data dir为keystore所在的目录

var privateKey=keyth.recover('your_password',keyobj)

privateKey.toString('hex')

上一个:发展区块链系统开发技术需关注五方面问题
下一个:区块链系统开发:区块链几种安全技术运用
数字资产交易网站开发_互联网金融_智慧城市系统_网站定制开发_互联网金融区块链技术
版权所有 © 深圳源中瑞科技有限公司 手机版