1 Star 0 Fork 0

D./dimeng

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.php 1.47 KB
一键复制 编辑 原始数据 按行查看 历史
吴辉 提交于 2019-09-19 22:52 . 调整
<?php
class DesEdeCbc {
private $cipher, $key, $iv;
/**
* DesEdeCbc constructor.
* @param $cipher
* @param $key
* @param $iv
*/
public function __construct($cipher, $key, $iv) {
$this->cipher = $cipher;
$this->key= $this->getFormatKey($key);
$this->iv = $iv;
}
/**
* @func 加密
* @param $msg
* @return string
*/
public function encrypt($msg) {
$des = @openssl_encrypt($msg, $this->cipher, $this->key, OPENSSL_RAW_DATA, $this->iv);
return base64_encode($des);
}
/**
* @func 解密
* @param $msg
* @return string
*/
public function decrypt($msg) {
return @openssl_decrypt(base64_decode($msg), $this->cipher, $this->key, OPENSSL_RAW_DATA, $this->iv);
}
/**
* @func 生成24位长度的key
* @param $skey
* @return bool|string
*/
private function getFormatKey($skey) {
$md5Value= md5($skey);
$md5ValueLen = strlen($md5Value);
$key = $md5Value . substr($md5Value, 0, $md5ValueLen / 2);
return hex2bin($key);
}
}
$cipher = 'DES-EDE-ECB';
$msg = '2746f26e89ae2d27';
$key = '523c15c9b20c4e76daaa2c5a5e0fabf1';
$iv = "\x00\x00\x00\x00\x00\x00\x00\x00";
$des = new DesEdeCbc($cipher, $key, $iv);
//// 加密
//$msg = $des->encrypt($msg);
//echo '加密后: ' . $msg . PHP_EOL;
// 解密
$src = $des->decrypt($msg);
var_dump($src);
var_dump(openssl_get_cipher_methods());
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/laraer/dimeng.git
[email protected]:laraer/dimeng.git
laraer
dimeng
dimeng
master

搜索帮助