-----BEGIN RSA PUBLIC KEY-----
BASE64 ENCODED DATA
-----END RSA PUBLIC KEY-----
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
所以唯一的问题是如何从原始十六进制编码的密钥得到这个DER结构。
如果有任何帮助,我将不胜感激!
感谢Maarten Bodewes和他关于密钥是secp256k1而不是RSA的评论。
经过一些进一步的研究,我终于设法用secp256k1密钥非对称地加密/解密一条消息。在Cryptos ECDH的帮助下,I类创建了一个密钥对象,然后将私钥分配给它。分配时,可以使用getPublicKey()
轻松地派生公钥。所有参与者都将为自己创建一个密钥对象,并为其分配私钥。然后它们共享检索到的公钥(在我的例子中是通过共享介质)。此外,我使用了一个名为standard-ecies的NPM包,它提供了ECIES加密方案。
代码:
const crypto = require('crypto');
const ecies = require('standard-ecies');
var buffer = new Buffer("Hello World");
var ecdh = crypto.createECDH('secp256k1');
ecdh.setPrivateKey(privateKey);
var encryptedText = ecies.encrypt(ecdh.getPublicKey(), buffer);
var decryptedText = new Buffer(ecies.decrypt(ecdh, encryptedText));
我有十六进制格式的私钥: 308204BC020100300D06092A864886F70D0101010500048204A6308204A20201000282010100B3B6F5AB13FCDECC12438581E90302E12BCF14570B49DCA2BF40957B79B10630DE20CB18B21D7393AC54FBA9D236F09235C4AF4D8E9227B
我在C中使用SHA512来获取散列值。我是这样做的: 我试图通过以下方式将其转换为十六进制: 但这不是我想要的。 如何将无符号字符中的二进制文件转换为人类可读的格式?打印字符[]的最佳案例。 “数据哈希”的哈希应该是: D98F945FEE6C9055592FA8F398953B3B7CF33A47CFC50667CBCA1ADB344FF18A4F442758810186FB480DA89BC9
我正在尝试创建一个公钥以允许我推送到Git,但我的. ssh文件夹尚未创建。 以下是我运行的命令: $ssh-keygen-t rsa-Cemaill@me.com 生成公共/私有rsa密钥对 输入保存密钥的文件(/h/.ssh/id\u rsa): 这就是H:驱动器配置、数据、配置文件、配置文件中的全部内容。V2 我认为有一个问题,因为当我得到提示输入文件,其中保存密钥(/h//. ssh/id
问题内容: 如何获得Python 3输出原始十六进制字节?我想输出十六进制。 如果使用,则会得到ASCII‘170’。 问题答案: 解决方案是首先创建一个对象: 然后将其输出到使用缓冲写入器
如果我尝试使用OpenSSL命令行生成3TDES加密的PKCS 8密钥: 我得到: PKCS8 RFC没有说明必须使用哪种算法来创建密钥块。它确实给出了PKCS5算法作为例子。有没有办法使用OpenSSL创建一个由DES密钥加密的PKCS8密钥?如果不是,它是OpenSSL不支持的还是一个非常不标准的事情? 下面是通过OpenSSL命令行(密码测试)使用基于密码的加密创建的示例: 这里是我手工制作
我在C#中有一个传递公钥字符串的方法。 我传递的公钥字符串是 我得到一个错误组织。BouncyCastle。安全InvalidKeyException:“不是RSA密钥”。我传递给该方法的公钥格式是否不正确?