Swift 3 - AES 加密 Heimdall - 零填充

Swift 3 - AES Encryption Heimdall - Zero Padding

我在用海姆达尔

https://github.com/henrinormak/Heimdall

用于生成我的 1024 位 RSA 密钥和加密消息:

let heimdall = Heimdall(publicTag: publicTag, publicKeyData: data)

当我使用 utf8 编码和 base64 编码时,我将其传递给加密方法:

let utf8Encoded = self.mystring.data(using: String.Encoding.utf8)!
let base64Encoded = utf8Encoded.base64EncodedData()
let encrypted = heimdall.encrypt(base64Encoded)
print("encrypted \(encrypted!)") // -> 160 bytes !! why not 128

加密部分应该是 128 字节而不是 160。

任何人都可以帮助我到达那里吗?

我如何继续生成 1024 位 rsa 密钥并使用这些密钥加密消息以最终得到 128 字节数组?

谢谢和问候!!

来自海姆达尔文档:Note on encryption/decryption:
有效负载已构建,包含加密密钥,后跟加密消息。
然后这是Base64编码,长度增加1/3。

因此输出为(aes密钥+加密数据长度+填充)Base64编码。