IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> Hyperledger fabric 链码AES ECC椭圆曲线 -> 正文阅读

[区块链]Hyperledger fabric 链码AES ECC椭圆曲线

链码实现的业务逻辑
链码设计椭圆曲线加密解密、AES加密解密
业务逻辑:
加密部分:
输入:2部分
明文信息(指定唯一键值)、AES密钥
输出:上链成功信息
链码中写入详细注释并在链码镜像中输出
具体上链数据以及加密步骤
唯一键值---------第一个上链数据
第一步:通过AES加密学生信息 输出信息密文 ----第二个上链数据
第二步:为学生生成ECC密钥对
第三步:为可视化密钥对,编码密钥对,输出编码信息
第四步:通过学生ECC公钥加密AES密钥 ------------第三个上链数据
第四步:编码学生ECC私钥并下发----------第四个上链数据

解密部分:
输入: 2个部分
唯一键值
自己的ECC私钥
输出:
信息明文
解密步骤:
第一步:通过唯一键值获取链上数据
第二部:取出AES加密学生信息的密文、ECC加密AES密钥的密文
第三步:通过输入的ECC私钥解密获取AES密钥
第四步:通过AES密钥解密获取明文

全部操作均在链码中进行

链码安装

peer chaincode install -n eduecc -v 1.0 -l golang -p github.com/chaincode/ecc

链码实例化

peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n eduecc -l golang -v 1.0 -c '{"Args":["init"]}' -P 'OR ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'

链码调试过程更新链码操作1安装新的链码2执行链码更新操作

peer chaincode install -n eduecc -v 1.1 -l golang -p github.com/chaincode/ecc
peer chaincode upgrade -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n eduecc -l golang -v 1.1 -c '{"Args":["init"]}' -P 'OR ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'

数据加密上链操作 输入 明文、AES密钥

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n eduecc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt  -c '{"Args":["teacherTrans","prod_5","于三","男","汉族","32031189765239","北京市长安街001号","2020-1-1","软件工程","硕士","99","99","99","99","624","80","90","A","hgfedcba87654321"]}'

执行 docker logs 链码镜像ID 查询链上执行日志,获取私钥并下发授权
数据查询解密操作–数据键值、私钥,返回明文

peer chaincode query -C mychannel -n eduecc -c '{"Args":["stuQuery","prod_5","LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUtVZTVGVTBVQzV3eXBzakFWZ2trRTZjNzAxRExpTStabVJseXd3Y3RYK3NvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFckFaRzhERGNERHgzV3hlYS9JL21qMjMrZWVMMnAwa3hpUXJ4bHc3YmxHMVNXQTFMN0VXbwozMjlsSnVmcnYzeEJ1Z3J2RmRpWDZoYTZ5NW0xMzlKWVJ3PT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo="]}'

在这里插入图片描述
二、
安装

peer chaincode install -n aes -v 1.0 -l golang -p github.com/chaincode/aes

实例化

peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n aes -l golang -v 1.0 -c '{"Args":["init"]}' -P 'OR ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'

更新

peer chaincode upgrade -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n aes -l golang -v 2.7 -c '{"Args":["init"]}' -P 'OR ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'

数据加密上链

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n aes --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt  -c '{"Args":["teacherTrans","prod_7","张三","男","hgfedcba87654321"]}'

在这里插入图片描述
数据查询解密

peer chaincode query -C mychannel -n aes -c '{"Args":["stuQuery","prod_7"]}'

链码方法中数据输入与输出类型:
AES加解密:
encryptAES([]byte,[]byte)返回[]byte
decryptAES([]byte,[]byte)返回[]byte
base64编码解码:
baseStdEncode([]byte)返回string
baseDeEncode(string)返回string
x509编码解码:
encode(*ecdsa.PrivateKey,ecdsa.PublicKey)返回string(pri),string(pub)
decode(string,string)返回
ecdsa.PrivateKey,*ecdsa.PublicKey
ECC加解密:
ECCEncrypt(string,PublicKey)返回[]byte
ECCDecrypt([]byte,*ecdsa.PrivateKey)返回[]byte

具体链码 以及 链码caliper测试 区块链浏览器 baas可视化平台
各种加密、单一加密、组合加密链码、定制链码
介绍Hyperledger fabric的PPT(52页)
密码学笔记
区块链知识体系简介
部署 ipfs 网络 对接联盟链网络
Hyperledger fabric网络(多共识 多版本 多数据库 ca ) 封装接口sdk
Hyperledger Caliper 测试(多组织 多节点 多共识)
区块链浏览器
节点新增 组织新增
联系We-chat V : 18852897525

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:15:36  更:2021-08-04 11:16:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 11:42:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码