"sha512", "priv-6ren">
gpt4 book ai didi

ios - 使用现有 key 对加密/解密文本

转载 作者:行者123 更新时间:2023-11-28 22:10:24 25 4
gpt4 key购买 nike

这让我非常困惑。我有一个使用 PHP 生成公钥/私钥对的过程。这是我执行此操作的代码:

$config = array(
"digest_alg" => "sha512",
"private_key_bits" => 4096,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);

// Create the private and public key
$res = openssl_pkey_new($config);

这里是生成的输出示例:

-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1ufdaaaDQuWPuBlw8Vce WeGwdL3KhrC/YzgWi8oP72bQ2ZzgxzNcXHdmWGfXax4EBlWwIPBbTSNboi6urieb bPNIS/ei/AjGBKO/yJ2iDkfnxmy6xBxwpunqeq2TjEDDNXb2Y0g896gIjfwN8FZk olLspoFks5ipAxdYLNlWR5stgxWeEXC2gpAPLaP00d3Xg/Qhsm2fUBvlJHQReiS1 Mwyajg0EV72U3YpP0OK19z0YLBFRhaUbnE+Mx6TSnB9XqaWe4GKsBNSO06Lz4N9j k7Sg16DXpueKHo8pDZwuN2qbIG3fGc3ibNMR2U6lux218BGTIgGdvoAar1E3cOF1 VmLI3aDS/EVejzDs3gkG1rxcrbCFajnWe5Yl1J+nXefFBedr2FLx6ChSPZFV1x3P DUmR1hb/NDsLHwnj7qQqqhtgfPdFql4EjGFGUvYgid1K0u/8B6Vqk0k9JKU5nrN5 d1e3H7qJm/kbBoHNsI/0gbuUyRKTIpxU5b9ex51WpA80FBMC/Ao6DeWLNu59W134 YGu5kfI1qFI0w5xUsA3IU91Ak2tHYEzzjnIz0rVMoJezLbtxcv26e5gMDjuQN//d UM/Qe6Akck382yYgdrivgUjxB3A/IWP5IhKaLZazAWxgrc6EPvcbQFgzU/T5EbHI dt279SgTgQ+OlotfvnKNmL0CAwEAAQ== -----END PUBLIC KEY-----

和私钥:

-----BEGIN RSA PRIVATE KEY----- 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 -----END RSA PRIVATE KEY-----

所以我将这两个文件保存到我存储 key 的服务器上。当我的应用程序运行时,它会像这样以文本格式接收适当的公钥/私钥。这是我的问题:如何根据函数中的算法(SHA512,4096 位)使用这些现有 key 来加密和解密 NSString?据我了解,我必须先对 key 进行一些处理,然后才能将它们用于 iOS - 剥离 header ,转换为 base64,例如?

简而言之,我希望创建两个函数。一种可以解密,一种可以解密 - 两者都应采用上述文本格式(或转换为其他格式)的证书以及要加密的文本,并返回加密/解密版本。

最佳答案

您没有使用 SHA512 进行加密/解密,如果您随后要创建与此 key 对相关联的证书或证书请求,则会使用该值。

以下是您使用的参数的分割:

"digest_alg" => "sha512"

对于证书中的摘要。

"private_key_bits" => 4096,
"private_key_type" => OPENSSL_KEYTYPE_RSA,

这意味着您生成了一个 RSA-4096 key 对。因此请务必使用 RSA-4096 加密/解密。

关于ios - 使用现有 key 对加密/解密文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23067399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com