首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS中的椭圆曲线密码学(ECC)

JS中的椭圆曲线密码学(ECC)
EN

Stack Overflow用户
提问于 2021-02-03 04:58:07
回答 1查看 622关注 0票数 0

我使用下面的代码加密数据,使用在JS.中使用ECC,我不知道如何用解密这些加密的数据。有人能帮我吗?

安装

npm install elliptic-curve

导入secp256k1模块

var secp256k1 = require('elliptic-curve').secp256k1

私钥到公钥转换

var privateKey = '278a5de700e29faae8e40e366ec5012b5ec63d36ec77e8a2417154cc1d25383f'

secp256k1.getPublicKey(privateKey)

'03fdd57adec3d438ea237fe46b33ee1e016eda6b585c3e27ea66686c2ea5358479'

消息签名

var message = "Hello, world!"

secp256k1.signMessage(message, privateKey)

'3046022100997b6210d959e67ad9cee01589d01daf0fe77ce0f002d040d769171c33504860022100e'

EN

回答 1

Stack Overflow用户

发布于 2021-02-03 06:08:25

如果您查看它的源代码--这只是一个用于椭圆的包装器,基于椭圆的直接实现不需要清除私钥大小和公钥格式(十六进制):

代码语言:javascript
复制
var EC = require('elliptic').ec
var curve = new EC('secp256k1')
var privateKey = '278a5de700e29faae8e40e366ec5012b5ec63d36ec77e8a2417154cc1d25383f'
var publicKey = curve.keyFromPrivate(privateKey).getPublic(true,"hex")
var message = "Hello, world!"
var signed = curve.sign(message, privateKey)
var publicKeyObject = curve.keyFromPublic(publicKey,"hex")
var check = publicKeyObject.verify(message, signed)
console.log(check)

上检查运行情况

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66021515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档