- <?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-03-11C语言实现将double/float 转为字符串(带自定义精度
- 2022-03-11Python全栈之字符串和列表相关操作
- 2022-03-07c++11多种格式时间转化为字符串的方法实现
- 2022-03-06MySQL怎么给字符串字段加索引
- 2022-03-06C#中如何正确的使用字符串String
- 2022-03-06python字符串拼接.join()和拆分.split()详解
- PHP教程
php实现的支持imagemagick及gd库两种处理的缩略图生成类
这篇文章主要介绍了php实现的支持imagemagick及gd库两种处理的缩略图生成类,包含了用法的详细描述,非常实用,需要的朋友可以参考下...
- PHP教程
php学习笔记 数组的常用函数
只要一个变量,需要在多个方法使用,就将这个变量声明为成员属性,可以直接在这个对象中的所有方法中使用 成员属性,相当于这个对象中的全局变量...
- PHP教程
PHP常量DIRECTORY_SEPARATOR原理及用法解析
这篇文章主要介绍了PHP常量DIRECTORY_SEPARATOR原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...
- PHP教程
PHP中读取文件的8种方法和代码实例
这篇文章主要介绍了PHP中读取文件的8种方法和代码实例,本文总结了PHP中读取文件的8个函数,每一个都附有使用例子及注意事项等,需要的朋友可以参考下...
- PHP教程
php全角字符转换为半角函数
这篇文章主要介绍了PHP全角半角转换函数,把目前能找到的所有全角都列出来了一个个替换吧,需要的朋友可以参考下 ...
- PHP教程
php htmlentities()函数的定义和用法
下面小编就为大家带来一篇php htmlentities()函数的定义和用法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...
- PHP教程
PHP变量的定义、可变变量、变量引用、销毁方法
这篇文章主要介绍了PHP变量的定义、可变变量、变量引用、销毁方法,需要的朋友可以参考下 ...
- PHP教程
php学习之数据类型之间的转换介绍
php学习之数据类型之间的转换介绍,学习php的朋友可以参考下。 ...