NodeJS AES-256-CBC 加密模式的通用性

最近项目中遇到需要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是否相同

发表评论

电子邮件地址不会被公开。 必填项已用*标注