• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

phpaes-ecb-128位加密

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今天来了一个需求 需要进行aes-ecb-128加密 ok这个简单,但是。。。↓↓

平台向接入方分配的AppSecret(32位长的十六进制字符串)作为密钥。采用128位模式。使用前需把AppSecret转换为16位长的二进制字节数组。

 

1.32位长十六进制字符串   转换为    16位长的二进制字节数组   //有点懵,网上查不到。其实就是16进制字符串数据转2进制 , 使用hex2bin()函数即可 O(∩_∩)O~~

2.下一步aes加密解密,上代码:


class AES_CW{
private $_iv = '';
private $_secret = '';

public function __construct($iv,$secret){
$this->_iv = substr($iv.'0000000000000000', 0,16);//可以忽略这一步,只要你保证iv长度是16
$this->_secret =$secret;
}
public function decodeECB128($secretData){
return openssl_decrypt($secretData,'aes-128-ecb',$this->_secret,OPENSSL_RAW_DATA);
}
public function encodeECB128($data){
   //这里需要配置options参数OPENSSL_RAW_DATA裸数据,否则默认是base64_encode格式化过得数据
$data = openssl_encrypt($data,'aes-128-ecb',$this->_secret,OPENSSL_RAW_DATA);
return $data;
}
}

 


$secret = hex2bin("ABCD51171779997B98888AF51079752B");//获取16位二进制数组数据
$aes = new AES_CW("",$secret);//实例化aes对象
$enc = $aes->encodeECB128('RawData');//加密 这是data返回的数据是二进制数据,再把它转化为16进制的数据,使用bin2hex()函数即可 O(∩_∩)O~~   完成~
$dec = $aes->decodeECB128($enc);//解密

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap