Swift中的secp256k1公钥解析

Swift中的secp256k1公钥解析,swift,cryptography,public-key,Swift,Cryptography,Public Key,我正在使用绑定在Swift中执行secp256k1函数。我有以下代码: let pubkeyTxt = "036c1495224d8b6245ca35df958127dc3d587ff7e9d8e1e5f964b312dc5ea3aac9" let pubArray: [UInt8] = Array(pubkeyTxt.utf8) var pubkey = secp256k1_pubkey() let pubBool = secp2

我正在使用绑定在Swift中执行secp256k1函数。我有以下代码:

        let pubkeyTxt = "036c1495224d8b6245ca35df958127dc3d587ff7e9d8e1e5f964b312dc5ea3aac9"
        let pubArray: [UInt8] = Array(pubkeyTxt.utf8)
        var pubkey = secp256k1_pubkey()
        let pubBool = secp256k1_ec_pubkey_parse(ctx!, &pubkey, pubArray, pubArray.count)
        if pubBool == 0 {
            print("Could not parse the public key")
            return
        }

它一直在打印它无法解析公钥。我不知道怎么了。我的直觉是pubArray.count的长度对于函数来说是错误的,所以我尝试了一些其他的值,但没有成功

您的密钥无效。我相信您希望密钥的第一个字节是0x03,但密钥的第一个字节是字符“0”,即0x30。密钥的第二个字节是字符“3”(0x33)

我相信你打算把它作为你的实际密钥的十六进制编码版本。如果是这样的话,你需要首先。您已将其视为UTF-8编码版本,但事实并非如此