php实现加密解密,PHP实现的加密解密处理类
本文实例讲述了PHP实现的加密解密处理类。分享给大家供大家参考,具体如下:
/*===========================================================
= 版权协议:
= GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991)
=------------------------------------------------------------
= 文件名称:cls.sys_crypt.php
= 摘 要:php加密解密处理类
= 版 本:1.0
= 参 考:Discuz论坛的passport相关函数
=------------------------------------------------------------
= 最后更新日期:2007-12-09
============================================================*/
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;
}
}
//执行代码
$sc = new SysCrypt('phpwms');
$text = 'abc10000008910000000990099hh'; //需要加密的数据
print($sc -> php_encrypt($text)); //加密
print('
');
print($sc -> php_decrypt($sc -> php_encrypt($text))); //解密
?>
关于加密解密感兴趣的朋友还可以参考本站在线工具:
密码安全性在线检测
高强度密码生成器
MD5在线加密工具
迅雷、快车、旋风URL加密/解密工具
更多关于PHP相关内容可查看本站专题:《php加密方法总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
php实现加密解密,PHP实现的加密解密处理类相关推荐
- 加解密基础——(对称加密、非对称加密和混合加密)
本文对之前学习过的加解密相关知识做一简单总结,以备后用. 1. 基本概念 加密算法 通常是复杂的数学公式,这些公式确定如何将明文转化为密文的过程和规则. 密钥 是一串被加入到算法中的随机比特. 待续 ...
- [转载]MaxtoCode对.Net程序加密的原理及解密探讨三(实例解密)
标 题: [原创]MaxtoCode对.Net程序加密的原理及解密探讨三(实例解密) 作 者: rick 时 间: 2006-09-29,23:16:28 链 接: http://bbs.pediy. ...
- C# 加密解密(DES,3DES,MD5,Base64) 类
public sealed class EncryptUtils{#region Base64加密解密/// <summary>/// Base64加密/// </summary&g ...
- 【加密解密】单表加密(Javascript实现)
2019独角兽企业重金招聘Python工程师标准>>> ■单表加密(monoalphabetic) 替换加密是密码学中按规律将文字加密的一种方式.替换加密中可以用不同字母数为一单元, ...
- Java加密与解密笔记(三) 非对称加密
非对称的特点是加密和解密时使用的是不同的钥匙.密钥分为公钥和私钥,用公钥加密的数据只能用私钥进行解密,反之亦然. 另外,密钥还可以用于数字签名.数字签名跟上文说的消息摘要是一个道理,通过一定方法对数据 ...
- ecs加解密_ECS云盘加密
当您的业务因为安全需求或法规合规要求等原因,需要对存储在云盘上的数据进行加密保护时,您可以使用阿里云ECS云盘加密功能,无需构建.维护和保护自己的密钥管理基础设施,即可保护数据的隐私性和自主性. 本文 ...
- python des解密_python实现DES加密解密方法实例详解
本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...
- java加密解密代码_base64位加密解密原理及js代码实现
base64位加密解密原理及js代码实现 在网上找了很多关于Base64加密解密的原理以一个比较通俗易懂的方式理解整理了一下大致原理如下 先上base64对照表 #加密 #1:将明文对照以acsii码 ...
- java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法
java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...
- mysql unescape解码_PHP解密Unicode及Escape加密字符串
本文给大家分享一个PHP解密Unicode及Escape加密字符串函数 function uni_decode($s) { preg_match_all('/\&\#([0-9]{2,5})\ ...
最新文章
- python 中UnicodeEncodeError 错误
- PR详解及二分类的PR曲线绘制
- Android/Ophone中的悬浮对话框和即点即关对话框
- Leetcode 203. 移除链表元素 (每日一题 20210914)
- MySQL光标的使用
- 弱网环境测试-Charles学习
- Yum mysql 日志_CentOS5上yum安装Apache+php+Mysql
- SAP CRM的IOITF框架:Individual Object Integration Framework
- Cobbler部署之FAQ处理
- 数据库操作,内外联查询,分组查询,嵌套查询,交叉查询,多表查询,语句小结...
- centos6安装mysql并远程连接_阿里云服务器上安装redis并实现远程连接
- Nginx 快速安装手册及如何修改端口号
- MFC初探 —— 设置软件开机自启
- 精神分析理论-弗洛伊德
- php cms 301,www域名301
- 哒哒租车系统(慕课网学习)
- 不了解外贸装箱,这一篇够够的
- 人工智能安全政策与标准
- 关于系统复杂性的一句箴言
- 【人脸识别】PCA+SVM人脸识别(准确率)【含GUI Matlab源码 823期】