最近手上需要解决一个问题,就是JAVA加密,PHP解密。
因为版本的关系,必须用openssl_decrypt解密,
开始一直用openssl_encrypt去加密,结果一直不对。
后来发现是填充方式的问题。openssl_encrypt($text,'aes-128-cbc',$key,false,$iv);
当时我以为openssl_encrypt 的options=false 的时候是不选择填充,
JAVA那边就选择不填充,结果一直不对。
后来发现options=false 等于PKCS5PADDING填充方式
至于iv 和key的加密,PHP和JAVA加密方式一直即可。
本文解决了JAVA加密后由PHP解密的问题,重点在于填充方式的选择与IV及Key的处理一致性。openssl_encrypt的options参数设置为false实际上对应的是PKCS5PADDING填充方式。
6352

被折叠的 条评论
为什么被折叠?



