- <?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ù)字字符串簡易加解密
- * ----------------------------------------------------------------------------*/
- class Encryption {
- /**
- * 最終的密文代碼,可設為任意不重復的10位英文字符a-zA-Z
- */
- private $replacement = 'urskydMeIV';
- /**
- * 增加的密文第一位,可設為1位除0以外的整數(shù),即 1-9
- */
- private $prefix = "8";
- /**
- * 公鑰,長度小于8位的正整數(shù)
- */
- private $match = "111111";
- /**
- * 轉換后對照數(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ù)字型字符串加解密代碼,對應awk版加解密程序的PHP實現(xiàn)代碼
延伸 · 閱讀
- 2022-03-11C語言實現(xiàn)將double/float 轉為字符串(帶自定義精度
- 2022-03-11Python全棧之字符串和列表相關操作
- 2022-03-07c++11多種格式時間轉化為字符串的方法實現(xiàn)
- 2022-03-06MySQL怎么給字符串字段加索引
- 2022-03-06C#中如何正確的使用字符串String
- 2022-03-06python字符串拼接.join()和拆分.split()詳解
- PHP教程
php實現(xiàn)的支持imagemagick及gd庫兩種處理的縮略圖生成類
這篇文章主要介紹了php實現(xiàn)的支持imagemagick及gd庫兩種處理的縮略圖生成類,包含了用法的詳細描述,非常實用,需要的朋友可以參考下...
- PHP教程
php學習筆記 數(shù)組的常用函數(shù)
只要一個變量,需要在多個方法使用,就將這個變量聲明為成員屬性,可以直接在這個對象中的所有方法中使用 成員屬性,相當于這個對象中的全局變量...
- PHP教程
PHP常量DIRECTORY_SEPARATOR原理及用法解析
這篇文章主要介紹了PHP常量DIRECTORY_SEPARATOR原理及用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...
- PHP教程
PHP中讀取文件的8種方法和代碼實例
這篇文章主要介紹了PHP中讀取文件的8種方法和代碼實例,本文總結了PHP中讀取文件的8個函數(shù),每一個都附有使用例子及注意事項等,需要的朋友可以參考下...
- PHP教程
php全角字符轉換為半角函數(shù)
這篇文章主要介紹了PHP全角半角轉換函數(shù),把目前能找到的所有全角都列出來了一個個替換吧,需要的朋友可以參考下 ...
- PHP教程
php htmlentities()函數(shù)的定義和用法
下面小編就為大家?guī)硪黄猵hp htmlentities()函數(shù)的定義和用法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...
- PHP教程
PHP變量的定義、可變變量、變量引用、銷毀方法
這篇文章主要介紹了PHP變量的定義、可變變量、變量引用、銷毀方法,需要的朋友可以參考下 ...
- PHP教程
php學習之數(shù)據(jù)類型之間的轉換介紹
php學習之數(shù)據(jù)類型之間的轉換介紹,學習php的朋友可以參考下。 ...