最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP加密解密類實例分析

 更新時間:2015年04月20日 09:58:11   作者:Xiaowanyi  
這篇文章主要介紹了PHP加密解密類,實例分析了php實現(xiàn)加密與解密的原理與相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了PHP加密解密類。分享給大家供大家參考。具體分析如下:

這段代碼支持 數(shù)組加密 , 密文有效期, 各種對稱加密

其中參數(shù)如下:

* @use ption::en($string, $key);
* @param String $string 需要加密的字串
* @param String $skey 密鑰
* @param int $expiry 密文有效期, 加密時候有效, 單位 秒,0 為永久有效
* @return String

1. php代碼如下:

/*
 * -工具庫-加密解密碼
*/
class ption
{
 private static $original = array('=', '+', '/');
 private static $later = array('O0O0O', 'o0O0o', 'oo00o');
 function __construct()
 {
 }
 private static function md5($skey = '')
 {
  $skey = $skey ? $skey : 'ui' ; //uicms::_config('security/authkey');
  return md5(substr($skey, 0, 16));
 }
 /**
 * @use ption::en($string, $key);
 * @param String $string 需要加密的字串
 * @param String $skey 密鑰
 * @param int $expiry 密文有效期, 加密時候有效, 單位 秒,0 為永久有效
 * @return String
 */
 static public function en($string = '', $skey = '', $expiry=0)
 {   
  if( is_array( $string ) )
  {
   $string = json_encode($string); // uicms::json($string, true, 'en');
  }     
  $string = str_pad($expiry ? $expiry + TIME : 0, 10, 0).$string;  
  $strArr = str_split(base64_encode($string));
  $strCount = count($strArr);  
  $skey = static::md5($skey);  
  foreach (str_split($skey) as $key => $value)
  {
   $key < $strCount && $strArr[$key].=$value;
  }
  return str_replace(self::$original, self::$later, join('', $strArr));
 }
 /**
 * @use ption::de($string, $key);
 * @param String $string 需要解密的字串
 * @param String $skey 密鑰
 * @return String
 */
 static public function de($string = '', $skey = '')
 {   
  $strArr = str_split(str_replace(self::$later,self::$original,$string),2);
  $strCount = count($strArr);
  $skey = static::md5($skey);
  foreach (str_split($skey) as $key => $value)
  {
   $key < $strCount && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
  }   
  $result = base64_decode(join('', $strArr));
  if(substr($result, 0, 10) == 0 || substr($result, 0, 10) - TIME > 0)
  {
   return substr($result, 10);
  }
  else
  {
   return false;
  }   
 }  
}

2. 用法如下:

$str['username'] = 'oschina';
$str['pw'] = '123456';
$str['huoxin'] = '!@#$%^&';
echo "string : " . $str . " <br />";
echo "encode : " . ($enstring = ption::en($str)) . '<br />';
echo "decode : " . ption::de($enstring);

希望本文所述對大家的php程序設(shè)計有所幫助。

相關(guān)文章

  • PHPCMS的使用小結(jié)

    PHPCMS的使用小結(jié)

    前段時間仔細看了一下PHPCMS這套開源的系統(tǒng),實現(xiàn)了程序與模板分離,覺得寫得真的不錯。本人很少關(guān)注開源系統(tǒng),尤其是PHP的,覺得PHP本身就是一個寵大的函數(shù)庫,不過幾千個系統(tǒng)函數(shù)確實解決了不少問題。
    2010-09-09
  • 叫你如何修改Nginx與PHP的文件上傳大小限制

    叫你如何修改Nginx與PHP的文件上傳大小限制

    對于nginx+php的一些網(wǎng)站,上傳文件大小會受到多個方面的限制,一個是nginx本身的限制,限制了客戶端上傳文件的大小,一個是php.ini文件中默認了多個地方的設(shè)置。下面我們來看看如何修改這些限制
    2014-09-09
  • PHP耦合設(shè)計模式實例分析

    PHP耦合設(shè)計模式實例分析

    這篇文章主要介紹了PHP耦合設(shè)計模式,結(jié)合實例形式分析了php面向?qū)ο蟪绦蛟O(shè)計中降低耦合度的相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • win7 64位系統(tǒng) 配置php最新版開發(fā)環(huán)境(php+Apache+mysql)

    win7 64位系統(tǒng) 配置php最新版開發(fā)環(huán)境(php+Apache+mysql)

    作為一個phper,基礎(chǔ)的php開發(fā)環(huán)境的配置是最基本的本事了,今天我們來看下在win7 64位系統(tǒng)中,如何配置php的開發(fā)環(huán)境呢
    2014-08-08
  • 詳解phpmyadmin相關(guān)配置與錯誤解決

    詳解phpmyadmin相關(guān)配置與錯誤解決

    這篇文章主要介紹了詳解phpmyadmin相關(guān)配置與錯誤解決的相關(guān)資料,希望通過本文能幫助到大家,讓大家遇到這種問題可以解決,需要的朋友可以參考下
    2017-10-10
  • PHP 遞歸效率分析

    PHP 遞歸效率分析

    PHP的遞歸效率一般認為是低效的。大概一年前,我寫了一篇博文,對三種遍歷樹的方法進行了比較,發(fā)現(xiàn)遞歸算法的效率最低。
    2009-11-11
  • php打印一個邊長為N的實心和空心菱型的方法

    php打印一個邊長為N的實心和空心菱型的方法

    這篇文章主要介紹了php打印一個邊長為N的實心和空心菱型的方法,實例分析了php循環(huán)語句繪制圖形的技巧,需要的朋友可以參考下
    2015-03-03
  • thinkphp如何獲取客戶端IP

    thinkphp如何獲取客戶端IP

    這篇文章主要介紹了thinkphp如何正確獲取客戶端IP,除了使用內(nèi)置get_client_ip函數(shù),還有沒有其他方法?請閱讀下文揭曉答案。
    2015-11-11
  • Linux安裝配置php環(huán)境的方法

    Linux安裝配置php環(huán)境的方法

    這篇文章主要介紹了Linux安裝配置php環(huán)境的方法,較為詳細的講述了Linux平臺安裝配置PHP環(huán)境的具體步驟與相關(guān)注意事項,需要的朋友可以參考下
    2016-01-01
  • PHP實現(xiàn)加強版加密解密類實例

    PHP實現(xiàn)加強版加密解密類實例

    這篇文章主要介紹了PHP實現(xiàn)加強版加密解密類,實例分析了php加密解密的相關(guān)實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

新民市| 阜城县| 古田县| 丹棱县| 雅安市| 娱乐| 库车县| 乌兰县| 南漳县| 库伦旗| 郎溪县| 揭西县| 文成县| 始兴县| 治多县| 新安县| 白河县| 南投县| 黄山市| 环江| 连城县| 高台县| 渭源县| 涿鹿县| 宝丰县| 南城县| 文安县| 普兰店市| 浑源县| 称多县| 富裕县| 乃东县| 牟定县| 鹤壁市| 措勤县| 丰镇市| 合川市| 邢台市| 巫山县| 定州市| 霸州市|