如何在iOS中编程AES / CBC / ISO10126Padding

时间:2016-06-15 06:53:10

标签: ios nsdictionary

我想加密NSDictionary类型并发送到后端: - CBC模式下的AES-128(密钥长度为128位)。 - 根据ANSI X9.23 / ISO 10126-2的填充过程。 我该怎么办。

1 个答案:

答案 0 :(得分:1)

你需要自己做。只是不指定任何填充,然后填充将在解密数据中可用,并且可以删除。

ISO_10126填充已被撤销并指定填充最后一个8字节块。请注意,AES使用16字节的块,因此它确实不匹配。

除了8/16字节的最后一个块大小,ISO_10126和PKCS#7填充都有一个最后一个字节,它指定了添加的填充字节数。要删除填充,假设解密成功,只需获取最后一个字节并根据该值删除字节数。

请参阅ISO_10126 padding

最后,请勿使用ISO_10126填充,请使用PKCS#7 padding