PHP加密解密也是常有的事,发现discuz论坛里的PHP加密解密处理类代码,感觉挺不错,在用的时候,要参考Discuz论坛的passport相关函数,后面我会附上使用方法。

php加密解密处理类<?php

/*========================================================

= 文件名称:cls.sys_crypt.php

= 摘 要:php加密解密处理类 www.qdxw.net

= 参 考:Discuz论坛的passport相关函数

=========================================================*/

class SysCrypt {

private $crypt_key;

// 构造函数

public function __construct($crypt_key) {

$this -> crypt_key = $crypt_key;

}

public function php_encrypt($txt) {

srand((double)microtime() * 1000000);

$encrypt_key = md5(rand(0,32000));

$ctr = 0;

$tmp = '';

for($i = 0;$i

$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;

$tmp .= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);

}

return base64_encode(self::__key($tmp,$this -> crypt_key));

}

public function php_decrypt($txt) {

$txt = self::__key(base64_decode($txt),$this -> crypt_key);

$tmp = '';

for($i = 0;$i < strlen($txt); $i++) {

$md5 = $txt[$i];

$tmp .= $txt[++$i] ^ $md5;

}

return $tmp;

}

private function __key($txt,$encrypt_key) {

$encrypt_key = md5($encrypt_key);

$ctr = 0;

$tmp = '';

for($i = 0; $i < strlen($txt); $i++) {

$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;

$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];

}

return $tmp;

}

public function __destruct() {

$this -> crypt_key = null;

}

}

?>

使用方法说明<?php

//使用前请先引入类文件,如:

include 'cls.sys_crypt.php';

$sc = new SysCrypt('phpwms');

$text = '110';

print($sc -> php_encrypt($text));

print('
');

print($sc -> php_decrypt($sc -> php_encrypt($text)));

?>

cls certificate.php,php加密解密处理类相关推荐

  1. 加密解密php,PHP实现的加密解密处理类

    本文实例讲述了PHP实现的加密解密处理类.分享给大家供大家参考,具体如下: /*=========================================================== ...

  2. C# MD5加密解密帮助类

    /// <summary>     /// MD5加密解密帮助类     /// </summary>     public static class DESHelper    ...

  3. php中des加密cbc模式,php中加密解密DES类的简单使用方法示例

    本文实例讲述了php中加密解密DES类的简单使用方法.分享给大家供大家参考,具体如下: 在平时的开发工作中,我们经常会对关键字符进行加密,可能为了安全 也可能为了规范,所以要正确使用DES加密解密 代 ...

  4. C#做的一个加密/解密的类

    C#做的一个加密/解密的类 大家要有兴趣,可以一起来讨论一下 WebService数据交互安全问题,以下的这个代码,可以用于Dotnet环境下的任何托管方式的应用程序,在实际应用中有两个实例.其中,有 ...

  5. java des加密解密_Java实现的DES加密解密工具类实例

    本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...

  6. java字符串加密解密工具类

    /*** 字符串加密解密工具类** @author guyuqiang* @date 2021-06-07*/ public class StringEncryptUtil {/*** 字符串默认键值 ...

  7. java des 加密工具的使用,Java中DES加密解密工具类的实现实例

    这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...

  8. Java AES 加密解密工具类

    maven 引入一个依赖 <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --> <depen ...

  9. jwt加密解密工具类

    jwt 加密&解密工具类 引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId ...

最新文章

  1. python3-python3--内置函数
  2. 【IOS 开发】Object - C 数组使用详解
  3. 让IE7/8使用CSS中first-child和last-child样式属性
  4. 华为路由器 android,华为智能路由器亮相 Android系统很强大
  5. tensorflow 1.0 学习:模型的保存与恢复(Saver)
  6. 4怎样判断动作是否执行_公众号交易时要怎样去判断粉丝是否真实的呢?
  7. 【Java】利用for循环打印心型
  8. 《DSP using MATLAB》Problem 6.16
  9. 百度测试开发提前批一面面经
  10. SpringBoot实战教程(5)| 整合Freemaker
  11. 快速图像增强的简便大法来了,英伟达开源新库代号“DALI”| CVPR 18
  12. 考研二阶矩阵合同的计算
  13. 100baseT、100baseFX、1000base-SX、100/1000base-T
  14. Android studio课程设计开发实现---日记APP
  15. Mac安装redis并设置开机自启动
  16. 知道焊缝长度如何确定节点板尺寸_钢结构焊缝中焊脚尺寸怎么确定?有没有标准规定或计算公式?...
  17. 20200220 MFC之列表控件技术总结 CListCtrl (一)
  18. 跨境电商| FaceBook 群发消息
  19. MySQL安全登录策略
  20. linux检测内存条损坏,在Linux中检查可用内存的5种方法

热门文章

  1. Java ObjectInputStream readUnshared()方法与示例
  2. nginx mysql 查询系统_nginx/mysql查看内存占用
  3. python爬取酷狗音乐top500_python获取酷狗音乐top500的下载地址 MP3格式
  4. 相同布局在不同手机上显示不同_不懂响应式,不同尺寸屏幕下的页面很难达到最佳效果...
  5. c ++atoi函数_atoi()函数以及C ++中的示例
  6. 【送给读者】全新苹果 AirPods,包邮送一套!
  7. Dynamic_Performance_Tables_not_accessible_问题_解决不能动态统计
  8. PyQt5 QTableView 全部item居中
  9. 简易数字时钟软件详细制作过程
  10. CentOS7 搭建Pulsar 消息队列环境,CentOS(Linux)部署Pulsar,亲测成功,以及Python操作Pulsar实例驱动