最近项目中遇到需要HTTPS Request,于是研究了一下AES256CBC模式的实现,鼓捣了两天始终不成功,代码不贴了,说一下情况吧
暂时要实现NodeJS端加密,IOS端解密
NodeJS端:
* key = 32个0
* iv = 16个0
* input-encoding = utf8
* output-encoding = base64
IOS端收到密文后解密,程序并不报错,状态返回kCCSuccess,可以打印出NSData,但是转换字符串为null,猜测是NSData数据不合规,尝试过替换结果中不合法的utf8字符,但是并不起作用
是不是我遗漏了什么关键步骤,还望各位指出,多谢
这个你需要对照白皮书逐步调试,白皮书里给定了一个明确的明文加密之后的密文,如果你node.js端加密之后得到的密文和白皮书的结果完全一致,则说明加密端没有任何问题。然后以同样的原理调试解密端。如果两端都没问题,再联调就好调了。
https使用公钥加密
可以查看一下字符编码方式,解密后的明文长度和原文md5是否相同