muzipiao / GMObjC

SM2/SM3/SM4/ECDH crypto library based on OpenSSL.
https://muzipiao.github.io/2019/08/iOS-%E4%BD%BF%E7%94%A8-SM2-SM4-%E5%8A%A0%E8%A7%A3%E5%AF%86-SM2-%E7%AD%BE%E5%90%8D%E9%AA%8C%E7%AD%BE%E5%8F%8A-SM3-%E6%91%98%E8%A6%81/
MIT License
346 stars 88 forks source link

SM4 CBC加密怎么使用PKCS5 填充呢? #51

Closed best2wazi closed 3 years ago

best2wazi commented 3 years ago

image 这里怎么修改呢?

muzipiao commented 3 years ago
  1. PKCS5很简单,填充长度为 1-8 字节,加密字符长度 len,填充长度 = 8 - len % 8;
  2. PKCS7填充1-255字节都可以,由于 SM4加密要求原始密文必须是 SM4_BLOCK_SIZE = 16 的倍数,所有选择PKCS7填充1-16;
  3. 使用PKCS5填充是8的倍数,不满足是16的倍数,不适合SM4填充方式。