添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
在java加密选择无填充模式如果不足128字节的话,调用方法会自动填充至128字节再进行加密,但php跟java中没有统一的填充标准,所以openssl_encrypt并没有默认填充,openssl_encrypt加密对数据长度有要求,从而导致加密失败,所以需要手动填充。 function aes_encrypt($str,$key){ $str_padded = $str; if (strlen($str_padded) % 16) { $str_padded = str_pad($str_padded,strlen($str_padded) + 16 - strlen($str_padded) % 16, "\0"); return bin2hex(openssl_encrypt($str_padded, 'AES-128-CBC',md5($key),OPENSSL_NO_PADDING,substr(md5($key), 0, 16))); function aes_decrypt($str,$key){ $str = preg_replace( '/[^a-f0-9 ]/i', '', $str); $str = strlen($str) % 2 ? pack("H*", $str) : hex2bin($str); return openssl_decrypt($str, 'AES-128-CBC', md5($key),OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING,substr(md5($key), 0, 16));

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

分类推荐文章

  • PHP的五种运行模式详解
  • PHP array_intersect()和array_diff()函数
  • CSS3和jQuery分别实现表格多行交替变色
  • PHP Non Thread Safe和Thread Safe版本的区别
  • 常用正则表达式
  • 标签推荐文章

  • PHP冒泡排序算法
  • PHP函数password_hash
  • PHP报错“It is not safe to rely on the system’s timezone settings”的解决方法
  • 七牛镜像存储插件for zblog
  • PHP对图片进行base64编码
  • 目前有 0 条评论

    发表评论
    • 昵称
    • 邮箱
    • 网址