swift - 如何使用swift将SecKey编码为base64字符串

标签 swift rsa

我想将 key 编码为 base64 字符串。但我真的不明白该怎么做。我试图找到一些信息,但我一无所获。这就是为什么我在这里寻求帮助。如果有任何帮助,我将不胜感激。 现在我有这个:

var error: Unmanaged<CFError>? = nil
    var statusCode: OSStatus = 0
    var publicKey: SecKey?
    var privateKey: SecKey?

    let publicKeyAttribute: [NSObject : NSObject] = [kSecAttrIsPermanent: true as NSObject, kSecAttrApplicationTag: "dove.apppublic".data(using: String.Encoding.utf8)! as NSObject]

    let privateKeyAtrribute: [NSObject: NSObject] = [kSecAttrIsPermanent: true as NSObject, kSecAttrApplicationTag: "dove.appprivate".data(using: String.Encoding.utf8)! as NSObject]

    var keyPairAttr = [NSObject: Any]()

和 func keysGeneration() {

    rsaKeyGenerator.keyPairAttr[kSecAttrType] = kSecAttrKeyTypeRSA
    rsaKeyGenerator.keyPairAttr[kSecAttrKeySizeInBits] = 2048
    rsaKeyGenerator.keyPairAttr[kSecReturnData] = true
    rsaKeyGenerator.keyPairAttr[kSecPublicKeyAttrs] = rsaKeyGenerator.publicKeyAttribute
    rsaKeyGenerator.keyPairAttr[kSecPrivateKeyAttrs] = rsaKeyGenerator.privateKeyAtrribute


    rsaKeyGenerator.statusCode = SecKeyGeneratePair(rsaKeyGenerator.keyPairAttr as CFDictionary, &rsaKeyGenerator.publicKey, &rsaKeyGenerator.privateKey)

    if #available(iOS 10.0, *) {
        let publicKey = SecKeyCopyExternalRepresentation(rsaKeyGenerator.publicKey!, &rsaKeyGenerator.error)
        let privateKey = SecKeyCopyExternalRepresentation(rsaKeyGenerator.privateKey!, &rsaKeyGenerator.error)
//            print("MY PUBLIC KEY = \(publicKey)")
//            print("MY PRIVATE KEY = \(privateKey)")

    }

最佳答案

要将字符串转换为其 base64 表示形式,您需要遍历 Data

let s = "string to encode as base64"
let d = s.data(using: .utf8)
let b64 = base64EncodedString()

关于swift - 如何使用swift将SecKey编码为base64字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160799/

相关文章:

swift - RealityKit - 异步模型加载不起作用

swift - ios swift :How to compare object that existing in mutable array

swift - iOS 11 中 UIDocumentMenuViewController 的替代品

ios - 如何为 RSA key 创建 PEM 文件

java - BouncycaSTLe:如何创建 RSA 私钥的加密 PKCS8 表示?

ios - 按钮未在 ScrollView 内触发事件

swift - 如何在swift中将从左到右的动画添加到textlayer

java - RSA公钥生成问题(PHP/Java集成)

javascript - Rsaencrypt 和奇怪的 Javascript 函数(e,t,r,n,c,a,l)

c - 我在 C 中使用 gmp,但下一个素数不起作用?我正在尝试生成 rsa key