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

php使用異或?qū)崿F(xiàn)的加密解密實(shí)例

 更新時(shí)間:2013年09月04日 15:08:44   作者:  
字符串的加密解密在數(shù)據(jù)的處理中應(yīng)該是經(jīng)常使用的,但MD5加密是不可逆的,所以自能自己動(dòng)手寫一個(gè)加密解密函數(shù),思路很。網(wǎng)上看了幾個(gè)用異或?qū)崿F(xiàn)的思路,看懂后就自己寫了一下。異或的思路很簡(jiǎn)單,用個(gè)公示簡(jiǎn)單的表示下吧

若a=b ^ c;則b=a ^ c (^是異或的意思),php在處理異或的字符時(shí)先把字符轉(zhuǎn)化為二進(jìn)制的ascii值,對(duì)這些值進(jìn)行異或,獲取結(jié)果后在將ascii值轉(zhuǎn)化為字符,原理說晚了直接貼實(shí)現(xiàn)的代碼:

復(fù)制代碼 代碼如下:

echo '<meta charset="utf-8">';
  $str='世界,你好';  
  function jiami($str,$key){
   $key=md5($key);
   $k=md5(rand(0,100));//相當(dāng)于動(dòng)態(tài)密鑰
   $k=substr($k,0,3);
   $tmp="";
   for($i=0;$i<strlen($str);$i++){
    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
   }
   return base64_encode($k.$tmp);
  }  
  function jiemi($str,$key){
   $len=strlen($str);
   $key=md5($key);
   $str=base64_decode($str);
   $str=substr($str,3,$len-3);
   $tmp="";
   for($i=0;$i<strlen($str);$i++){
    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
   }    
   return $tmp;
  }  
  $key='cc';
  $jh=jiami($str, $key);
  echo '加密前:'.$str.'<br>';
  echo '加密后:'.$jh.'<br>';
  echo '解密后:'.jiemi($jh, $key).'<br>';

有機(jī)會(huì)在完善下,本函數(shù)實(shí)現(xiàn)的是簡(jiǎn)單的加密解密

相關(guān)文章

  • PHP通用分頁類page.php[仿google分頁]

    PHP通用分頁類page.php[仿google分頁]

    PHP通用分頁類。本代碼是用于分頁用的,稍做修改可用于各種程序。 使用方式請(qǐng)參考本人文章。
    2008-08-08
  • PHP經(jīng)典面試題之設(shè)計(jì)模式(經(jīng)常遇到)

    PHP經(jīng)典面試題之設(shè)計(jì)模式(經(jīng)常遇到)

    php中設(shè)計(jì)模式非常多,但是設(shè)計(jì)模式在php面試題經(jīng)常會(huì)提到,本文主要給大家介紹php經(jīng)典面試題之設(shè)計(jì)模式,需要的朋友一起看看吧
    2015-10-10
  • php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息

    php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息

    這篇文章主要給大家介紹了關(guān)于php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • php筆記之:數(shù)據(jù)類型與常量的使用分析

    php筆記之:數(shù)據(jù)類型與常量的使用分析

    本篇文章是對(duì)php中數(shù)據(jù)類型與常量的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • php生成唯一uid的解決方法詳解

    php生成唯一uid的解決方法詳解

    在用戶系統(tǒng)中,生成唯一uid,是很多初級(jí)程序員頭痛的事情,因?yàn)槟悴⒉荒鼙WC完全的唯一性,如果要保證唯一性,必須要查一次數(shù)據(jù)庫。本文將介紹php生成唯一uid的思路,希望能對(duì)大家有所幫助
    2021-11-11
  • 基于PHP給大家講解防刷票的一些技巧

    基于PHP給大家講解防刷票的一些技巧

    刷票行為,一直是一個(gè)難題,無法從根本上解決問題,目前最好的解決辦法就是通過人為增加的邏輯限制,下面給大家介紹基于PHP給大家講解防刷票的一些技巧,小伙伴們跟著腳本之家的小編一起學(xué)習(xí)吧
    2015-11-11
  • php實(shí)現(xiàn)格式化多行文本為Js可用格式

    php實(shí)現(xiàn)格式化多行文本為Js可用格式

    本文給大家分享的是使用php實(shí)現(xiàn)格式化多行文本為Js可用格式,思路非常簡(jiǎn)單,這里推薦給大家,有需要的小伙伴參考下。
    2015-04-04
  • php操作mysqli(示例代碼)

    php操作mysqli(示例代碼)

    php操作mysqli的示例代碼。需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-10-10
  • PHP面向?qū)ο笾ぷ鲉卧?實(shí)例講解)

    PHP面向?qū)ο笾ぷ鲉卧?實(shí)例講解)

    下面小編就為大家?guī)硪黄狿HP面向?qū)ο笾ぷ鲉卧?實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • thinkphp中的url跳轉(zhuǎn)用法分析

    thinkphp中的url跳轉(zhuǎn)用法分析

    這篇文章主要介紹了thinkphp中的url跳轉(zhuǎn)用法,結(jié)合實(shí)例形式對(duì)比分析了幾種常用的URL跳轉(zhuǎn)技巧,需要的朋友可以參考下
    2016-07-07

最新評(píng)論