- <?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;
- }
- }
- ?>
php5數(shù)字型字符串加解密代碼
2019-10-29 15:30php教程網(wǎng) PHP教程
php5數(shù)字型字符串加解密代碼,對(duì)應(yīng)awk版加解密程序的PHP實(shí)現(xiàn)代碼
延伸 · 閱讀
- 2022-03-11C語(yǔ)言實(shí)現(xiàn)將double/float 轉(zhuǎn)為字符串(帶自定義精度
- 2022-03-11Python全棧之字符串和列表相關(guān)操作
- 2022-03-07c++11多種格式時(shí)間轉(zhuǎn)化為字符串的方法實(shí)現(xiàn)
- 2022-03-06MySQL怎么給字符串字段加索引
- 2022-03-06C#中如何正確的使用字符串String
- 2022-03-06python字符串拼接.join()和拆分.split()詳解
- PHP教程
php實(shí)現(xiàn)的支持imagemagick及gd庫(kù)兩種處理的縮略圖生成類
這篇文章主要介紹了php實(shí)現(xiàn)的支持imagemagick及gd庫(kù)兩種處理的縮略圖生成類,包含了用法的詳細(xì)描述,非常實(shí)用,需要的朋友可以參考下...
- PHP教程
php學(xué)習(xí)筆記 數(shù)組的常用函數(shù)
只要一個(gè)變量,需要在多個(gè)方法使用,就將這個(gè)變量聲明為成員屬性,可以直接在這個(gè)對(duì)象中的所有方法中使用 成員屬性,相當(dāng)于這個(gè)對(duì)象中的全局變量...
- PHP教程
PHP常量DIRECTORY_SEPARATOR原理及用法解析
這篇文章主要介紹了PHP常量DIRECTORY_SEPARATOR原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友...
- PHP教程
PHP中讀取文件的8種方法和代碼實(shí)例
這篇文章主要介紹了PHP中讀取文件的8種方法和代碼實(shí)例,本文總結(jié)了PHP中讀取文件的8個(gè)函數(shù),每一個(gè)都附有使用例子及注意事項(xiàng)等,需要的朋友可以參考下...
- PHP教程
php全角字符轉(zhuǎn)換為半角函數(shù)
這篇文章主要介紹了PHP全角半角轉(zhuǎn)換函數(shù),把目前能找到的所有全角都列出來(lái)了一個(gè)個(gè)替換吧,需要的朋友可以參考下 ...
- PHP教程
php htmlentities()函數(shù)的定義和用法
下面小編就為大家?guī)?lái)一篇php htmlentities()函數(shù)的定義和用法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧...
- PHP教程
PHP變量的定義、可變變量、變量引用、銷毀方法
這篇文章主要介紹了PHP變量的定義、可變變量、變量引用、銷毀方法,需要的朋友可以參考下 ...
- PHP教程
php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹
php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹,學(xué)習(xí)php的朋友可以參考下。 ...