源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php5数字型字符串加解密代码

  • 时间:2021-09-22 11:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php5数字型字符串加解密代码
<?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;     } } ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部