博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 加密
阅读量:6095 次
发布时间:2019-06-20

本文共 1417 字,大约阅读时间需要 4 分钟。

加密

$password = "Hello World";$hash = password_hash($password, PASSWORD_BCRYPT);if(password_verify($password, $hash)){    echo "success";}else{    echo "error";}复制代码

旧的加密方式

define('__ENCRYPTION_KEY', 'eed4e364a8bc1fb7ebab7fdc85c67ab4b490e0b38b6f2741f1f4ddb5fee3698c');function mc_encrypt($encrypt, $key){    $encrypt = serialize($encrypt);    $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM);    $key = pack('H*', $key);    $mac = hash_hmac('sha256', $encrypt, substr(bin2hex($key), -32));    $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $encrypt.$mac, MCRYPT_MODE_CBC, $iv);    $encoded = base64_encode($passcrypt).'|'.base64_encode($iv);    return $encoded;}function mc_decrypt($decrypt, $key){    $decrypt = explode('|', $decrypt.'|');    $decoded = base64_decode($decrypt[0]);    $iv = base64_decode($decrypt[1]);    if(strlen($iv)!==mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC)){ return false; }    $key = pack('H*', $key);    $decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_CBC, $iv));    $mac = substr($decrypted, -64);    $decrypted = substr($decrypted, 0, -64);    $calcmac = hash_hmac('sha256', $decrypted, substr(bin2hex($key), -32));    if($calcmac!==$mac){ return false; }    $decrypted = unserialize($decrypted);    return $decrypted;}复制代码

相关阅读

转载于:https://juejin.im/post/5a9e5a8df265da237313f649

你可能感兴趣的文章
Win10桌面奔溃怎么办?雨林木风Win10奔溃解决方法教程
查看>>
mysql Inoodb 内核
查看>>
Redis 基础
查看>>
UITextField的returnkey点击事件
查看>>
特殊字体引用
查看>>
owlcar 用法心得 自定义导航
查看>>
数据结构 学习笔记03——栈与队列
查看>>
DB2 OLAP函数的使用(转)
查看>>
数学之美系列二十 -- 自然语言处理的教父 马库斯
查看>>
Android实现自定义位置无标题Dialog
查看>>
面试总结
查看>>
Chrome浏览器播放HTML5音频没声音的解决方案
查看>>
easyui datagrid 行编辑功能
查看>>
类,对象与实例变量
查看>>
HDU 2818 (矢量并查集)
查看>>
【转】php字符串加密解密
查看>>
22. linux 常用命令
查看>>
ASP.Net 使用GridView模板删除一行的用法
查看>>
(十六)字段表集合
查看>>
JPGraph
查看>>