PHP的一个加密算法
2015-09-22 14:03
543 查看
<?php class Crypt { const CRYPT_KEY = '^_KeY'; //工具包禁止实例化 private function __construct(){} private function Crypt(){} /** * 加密 * @param $str * @return string */ public static function encrypt($str) { $block = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_ECB); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); $encryptText = mcrypt_encrypt(MCRYPT_DES, static::CRYPT_KEY, $str, MCRYPT_MODE_ECB); return trim(base64_encode($encryptText)); } /** * 解密 * @param $str * @return string */ public static function decrypt($str) { $cryptText = base64_decode($str); $decryptText = mcrypt_decrypt(MCRYPT_DES, static::CRYPT_KEY, $cryptText, MCRYPT_MODE_ECB); $pad = ord($decryptText[strlen($decryptText) - 1]); return trim(substr($decryptText, 0, strlen($decryptText) - $pad)); } }
相关文章推荐
- ContentProvider的详细用法
- Ubuntu sublime 下载安装
- ThinkPHP-缓存应用-缓存技术应用
- ubuntu下安装ftp服务器
- php生成加减法验证码
- 我的thinkPHP入门
- PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
- 【phpBB 】style button dose not show on Admin control panel
- PHP的单引号和双引号
- thinkphp 3.2 的pathinfo模式与控制器的关系
- ftp下命令的使用
- Laravel数据库基础
- Laravel模板引擎Blade中section的一些标签的区别介绍
- php类获取静态变量值以及调用
- 浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
- ecshop在PHP 5.4以上版本各种错误问题处理
- vsftpd的安装和配置
- php 拓展 Filter 过滤器
- php打包下载文件
- ThinkPHP中redirect用法分析