海运的博客

PHP下AES CBC/CFB 256加密

发布时间:February 3, 2017 // 分类:PHP // 1 Comment

AES CFB加解密,不用填充,OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING相当于OPENSSL_NO_PADDING

root@ubuntu:~# cat a.php
<?php
$iv = random_bytes(16);
$encryption_key = hash('sha256', 'key', true);
echo 'key:'. bin2hex($encryption_key)."\n";
echo 'iv:'. bin2hex($iv)."\n";
$data = 'data';
$data = openssl_encrypt($data, 'aes-256-cfb', $encryption_key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);
echo 'encrypt data:'. bin2hex($data) . "\n";
 
$data = openssl_decrypt($data, 'aes-256-cfb', $encryption_key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);
echo 'decrypt data:'. $data . "\r\n";

AES CBC加解密,自动使用PKCS#7填充,iv可公开,最好使用唯一的随机字符:

<?php
$iv = random_bytes(16);
$encryption_key = hash('sha256', 'key', true);
$data = 'data';
$data = openssl_encrypt($data, 'aes-256-cbc', $encryption_key, OPENSSL_RAW_DATA, $iv);
echo bin2hex($data) . "\r\n";

$data = openssl_decrypt($data, 'aes-256-cbc', $encryption_key, OPENSSL_RAW_DATA, $iv);
echo $data . "\r\n";
?>

标签:none

有一条 关于" PHP下AES CBC/CFB 256加密 "的评论

  1. 米扑博客

    总结的很棒

评论已关闭

分类
最新文章
最近回复
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...