我有一种情况,我需要使用RSA公共密钥加密标准用的JavaScript和Golang。我需要使用公钥在 JavaScript 中加密数据,并使用私钥在 Golang 中解密数据。我尝试使用PKCS#1(travst library for JavaScript and crypto/rsa for Golang),但解密失败。任何人都可以为此提出解决方案吗?
我尝试了所有可能的解决方案并研究了许多文档,但仍然找不到合适的方法。如果我在 golang 中加密和解密,它工作正常。但是javascript和golang之间存在一些集成问题。我不确定 javasript 中使用的填充方法。
这是我要解密的golang代码:
func Decrypt(encryptedData, label []byte) (decryptedData []byte) {
var err error
var block *pem.Block
var private_key *rsa.PrivateKey
if block, _ = pem.Decode([]byte(privatKeyData)); block == nil || block.Type != "RSA PRIVATE KEY" { //privatKeyData is in string format
log.Fatal("No valid PEM data found")
}
//Read Private Key
if private_key, err = x509.ParsePKCS1PrivateKey(block.Bytes); err != nil {
log.Fatalf("Private key can't be decoded: %s", err)
}
//Decrypt
if decrypted, err = rsa.DecryptPKCS1v15(rand.Reader, private_key, encryptedData); err != nil {
log.Println(err)
}
return
}
胡说叔叔
富国沪深
相关分类