欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php5數(shù)字型字符串加解密代碼

 更新時(shí)間:2008年04月24日 19:41:53   作者:  
對(duì)應(yīng)awk版加解密程序的PHP實(shí)現(xiàn)代碼


<?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: 數(shù)字字符串簡(jiǎn)易加解密
* ----------------------------------------------------------------------------*/

class Encryption {
    /**
     * 最終的密文代碼,可設(shè)為任意不重復(fù)的10位英文字符a-zA-Z
     */
    private $replacement = 'urskydMeIV';

    /**
     * 增加的密文第一位,可設(shè)為1位除0以外的整數(shù),即 1-9
     */
    private $prefix = "8";

    /**
     * 公鑰,長(zhǎng)度小于8位的正整數(shù)
     */
    private $match = "111111";

    /**
     * 轉(zhuǎn)換后對(duì)照數(shù)組
     */
    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;
    }
}
?>

相關(guān)文章

  • PHP實(shí)現(xiàn)帶進(jìn)度條的Ajax文件上傳功能示例

    PHP實(shí)現(xiàn)帶進(jìn)度條的Ajax文件上傳功能示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)帶進(jìn)度條的Ajax文件上傳功能,結(jié)合實(shí)例形式分析了php+ajax文件上傳基礎(chǔ)上添加進(jìn)度條功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • php str_replace的替換漏洞

    php str_replace的替換漏洞

    php 的函數(shù)str_replace替換漏洞
    2008-03-03
  • php+ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的方法

    php+ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的方法

    這篇文章主要介紹了php+ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的方法,詳細(xì)講述了數(shù)據(jù)庫(kù)的創(chuàng)建、Ajax文件的實(shí)現(xiàn)及PHP調(diào)用方法,需要的朋友可以參考下
    2014-11-11
  • php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別分析

    php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別分析

    這篇文章主要介紹了php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別,結(jié)合實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的功能、以及在繼承過(guò)程中實(shí)現(xiàn)多態(tài)的區(qū)別,并總結(jié)了static靜態(tài)延遲綁定的原理,需要的朋友可以參考下
    2019-05-05
  • PHP程序員最常犯的11個(gè)MySQL錯(cuò)誤小結(jié)

    PHP程序員最常犯的11個(gè)MySQL錯(cuò)誤小結(jié)

    對(duì)于大多數(shù)web應(yīng)用來(lái)說(shuō),數(shù)據(jù)庫(kù)都是一個(gè)十分基礎(chǔ)性的部分。如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中舉足輕重的一份子。
    2010-11-11
  • PHP 引用文件技巧

    PHP 引用文件技巧

    最近在學(xué)PHP,習(xí)慣性的喜歡把它與.NET作些比較,發(fā)現(xiàn)其中一個(gè)不同就是對(duì)其他文件中對(duì)象的引用問(wèn)題。
    2010-03-03
  • Thinkphp中import的幾個(gè)用法詳細(xì)介紹

    Thinkphp中import的幾個(gè)用法詳細(xì)介紹

    這篇文章主要介紹了Thinkphp中import的幾個(gè)用法,需要的朋友可以參考下
    2014-07-07
  • PHP實(shí)現(xiàn)的日歷功能示例

    PHP實(shí)現(xiàn)的日歷功能示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的日歷功能,涉及php針對(duì)日期時(shí)間的簡(jiǎn)單運(yùn)算與輸出顯示相關(guān)操作技巧,需要的朋友可以參考下
    2018-09-09
  • 詳解PHP Swoole與TCP三次握手

    詳解PHP Swoole與TCP三次握手

    TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接(連接導(dǎo)向)的、可靠的、 基于IP的傳輸層協(xié)議。TCP在IP報(bào)文的協(xié)議號(hào)是6。TCP是一個(gè)超級(jí)麻煩的協(xié)議,而它又是互聯(lián)網(wǎng)的基礎(chǔ),也是每個(gè)程序員必備的基本功。本文將詳細(xì)介紹PHP Swoole與TCP三次握手。
    2021-05-05
  • PHP使用DOM對(duì)XML解析處理操作示例

    PHP使用DOM對(duì)XML解析處理操作示例

    這篇文章主要介紹了PHP使用DOM對(duì)XML解析處理操作,結(jié)合實(shí)例形式分析了php基于DOM模型針對(duì)xml進(jìn)行增刪改查相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07

最新評(píng)論