php5数字型字符串加解密代码
作者:bea
<?php /*---------------------------------------------------------------------------- *ScriptName:encrypt.php *CreationDate:2008-4-710:36 *LastModified:2008-4-1216:00 *Author:meyu *Copyright(c)2007 *Purpose:数字字符串简易加解密 *-------------------
<?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;
}
}
?>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 五个PHP程序员工具
- 需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
- JS实现php的伪分页
- 谈谈新手如何学习PHP网络编程
- php中iconv函数使用方法
- 在PHP中使用模板的方法
- php读取数据库信息的几种方法
- php循环输出数据库内容的代码
- 开源SNS系统-ThinkSNS
- 删除及到期域名的查看(抢域名必备哦)
- php adodb连接带密码access数据库实例,测试成功
- 在同一窗体中使用PHP来处理多个提交任务
- 用php+javascript实现二级级联菜单的制作
- 轻松修复Discuz!数据库
- php xfocus防注入资料
- php中文字母数字验证码实现代码
- Ajax PHP简单入门教程代码
- PHP开发框架总结收藏
- awk简介与学习笔记收集