thinkphp自定义DES加密解密类

本文介绍了一个使用PHP实现的DES-ECB模式加密解密类。该类提供了加密和解密方法,并确保了密钥长度符合DES算法的要求。通过填充或截断操作使密钥固定为8位。
<?php
namespace lib;
class DesEncrypt {
	//密钥
	private $secretKey;
	/*
	 * 构造方法
	 */
	public function __construct($secretKey = '') {
		$this->secretKey = $secretKey;
		$this->pkcSecretKey();
	}
	/**
     * 加密
     */
	public function encrypt($data) {
        $data = mb_convert_encoding($data, 'UTF-8');
        $encry = openssl_encrypt($data, 'DES-ECB', $this->secretKey, OPENSSL_RAW_DATA);
		return base64_encode($encry);
    }
	/**
     * 解密
     */
	public function decrypt($data) {
		$decry = openssl_decrypt(base64_decode($data), 'DES-ECB', $this->secretKey, OPENSSL_RAW_DATA);
		return $decry;
	}
	/**
     * 填充密钥
     */
	private function pkcSecretKey() {
		$key = $this->secretKey;
		$len = strlen($key);
        if (null == $key || $len < 8) {
            $key = str_pad($key, 8, '0', STR_PAD_RIGHT);
        }
        if ($len > 8) {
            $key = substr($key, 0, 8);
        }
        $key = mb_convert_encoding($key, 'UTF-8');
		$this->secretKey = $key;
	}
}

ThinkPHP v5.0 RC4 主要更新: [底层架构] 增加Request 并支持自动注入 统一Composer的自动加载机制 增加Response的子扩展 增加File用于上传和文件操作 取消模式扩展 SAE支持降权 优化框架入口文件 改进异常机制 App输入/输出调整 单元测试的完美支持 增加新的控制台指令 取消系统路径之外的大部分常量定义 库映射文件由命令行动态生成 包含应用库 [数据库] 增加分表规则方法 增加日期和时间表达式查询方法 增加分页查询方法 增加视图查询方法 默认保持数据表字段大小写 数据缓存自动更新机制 完善事务嵌套支持 改进存储过程数据读取 支持设置数据库查询数据集返回型 [模型] 增加Merge扩展模型 模型支持动态查询 增加更多的型自动转换支持 增加全局查询范围 toJson/toArray支持隐藏和增加属性输出 增加远程一对多关联 [其它] 日志存储结构调整 Trace调试功能从日志独立并增强 原Input功能并入Request 库映射文件采用命令行生成 包含应用库 验证的check方法data数据取消引用传参 路由增加MISS路由规则 路由增加路由别名功能 ThinkPHP软件介绍 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用 开发和简化企业级应用开发而诞生的。拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和 改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。 ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、 库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的 表现。 使用ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单 和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应 用开发更简单、更快速。为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践! ThinkPHP遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产 品发布/销售。 ThinkPHP页面展示 相关阅读 同推荐:站长常用源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xmode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值