- <?php
- /* ----------------------------------------------------------------------------
- * Script Name: encrypt.php
- * Creation Date: 2008-4-7 10:36
- * Last Modified: 2008-4-12 16:00
- * Author: meyu
- * Copyright (c) 2007
- * Purpose: 数字字符串简易加解密
- * ----------------------------------------------------------------------------*/
- class Encryption {
- /**
- * 最终的密文代码,可设为任意不重复的10位英文字符a-zA-Z
- */
- private $replacement = 'urskydMeIV';
- /**
- * 增加的密文第一位,可设为1位除0以外的整数,即 1-9
- */
- private $prefix = "8";
- /**
- * 公钥,长度小于8位的正整数
- */
- private $match = "111111";
- /**
- * 转换后对照数组
- */
- private $replaceenc;
- private $replacedec;
- function __construct() {
- for($i =0; $i < 10; $i++) {
- $this->replaceenc['/'.$i.'/'] = $this->replacement{$i};
- $this->replacedec['/'.$this->replacement{$i}.'/'] = $i;
- }
- }
- public function encrypt($str) {
- return preg_replace(
- array_keys($this->replaceenc),
- $this->replaceenc,
- $this->mynotin(preg_replace("/(.)(.)/", "${2}${1}", $str))
- );
- }
- public function decrypt($str) {
- return preg_replace("/(.)(.)/", "${2}${1}",
- $this->mynotout(preg_replace(array_keys($this->replacedec),$this->replacedec,$str))
- );
- }
- private function mynotin($str) {
- $str_out = "";
- $i = 0;
- while(isset($str{7*$i})) {
- $str_out .= (($this->prefix.substr($str, $i*7, 7))+0)^$this->match;
- $i++;
- }
- return $str_out;
- }
- private function mynotout($str) {
- $str_out = "";
- $i = 0;
- while(isset($str{8*$i})) {
- $str_out .= substr((substr($str, $i*8, 8)+0)^$this->match, 1);
- $i++;
- }
- return $str_out;
- }
- }
- ?>
php5数字型字符串加解密代码
2019-10-29 15:30php教程网 PHP教程
php5数字型字符串加解密代码,对应awk版加解密程序的PHP实现代码
延伸 · 阅读
- 2022-06-27Python截取字符串的简单方法实例
- 2022-04-19比正则快 M 倍以上!Python 替换字符串的新姿势
- 2022-04-14GO语言字符串处理Strings包的函数使用示例讲解
- 2022-04-14Python实现RSA加密解密
- 2022-04-12下班前几分钟,搞懂这六种 For 循环
- 2022-03-11C语言实现将double/float 转为字符串(带自定义精度
- PHP教程
PHP计算个人所得税示例【不使用速算扣除数】
这篇文章主要介绍了PHP计算个人所得税,结合实例形式分析了php自定义函数不使用速算扣除数计算个人所得税的相关操作技巧,涉及数组遍历、数值运算的简...
- PHP教程
PHP实现四种基础排序算法的运行时间比较(推荐)
本文给大家介绍PHP实现四种基础排序算法的运行时间比较,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧...
- PHP教程
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
这篇文章主要介绍了ThinkPHP中url隐藏入口文件后接收alipay传值的方法,可实现针对第三方接口的URL地址中的?进行转换处理,是非常实用的技巧,需要的朋友可以...
- PHP教程
Laravel 5框架学习之模型、控制器、视图基础流程
本文给大家介绍的是Laravel5框架中模型、控制器、视图的基础流程,其实MVC体系结构模式将一个交互式系统分为三个组件。模型包含核心功能和数据。视图...
- PHP教程
PHP mkdir创建文件夹实现方法解析
这篇文章主要介绍了PHP mkdir创建文件夹实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...
- PHP教程
ThinkPHP自定义函数解决模板标签加减运算的方法
这篇文章主要介绍了ThinkPHP自定义函数解决模板标签加减运算的方法,实例分析了ThinkPHP中自定义函数在模板标签中的使用技巧,需要的朋友可以参考下...
- PHP教程
Laravel框架使用Redis的方法详解
这篇文章主要介绍了Laravel框架使用Redis的方法,结合实例形式较为详细的分析了Laravel框架中Redis数据库配置、使用方法及相关操作注意事项,需要的朋友可以...
- PHP教程
PHP经典面试题集锦
这篇文章主要介绍了PHP经典面试题集锦,搜集整理了常见的php面试题与相关的参考答案,供大家参考借鉴,需要的朋友可以参考下...