国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現的三個常用加密解密功能函數示例

php實現的三個常用加密解密功能函數示例

2021-07-15 16:44zqifa PHP教程

這篇文章主要介紹了php實現的三個常用加密解密功能函數,涉及php針對字符串的遍歷、截取、編碼轉換等相關操作技巧,需要的朋友可以參考下

本文實例講述了php實現的三個常用加密解密功能函數。分享給大家供大家參考,具體如下:

算法一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//加密函數
function lock_url($txt,$key='www.jfrwli.cn')
{
  $chars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789-=+";
  $nh = rand(0,64);
  $ch = $chars[$nh];
  $mdkey = md5($key.$ch);
  $mdkey = substr($mdkey,$nh%8, $nh%8+7);
  $txt = base64_encode($txt);
  $tmp = '';
  $i=0;$j=0;$k = 0;
  for ($i=0; $i<strlen($txt); $i++) {
    $k = $k == strlen($mdkey) ? 0 : $k;
    $j = ($nh+strpos($chars,$txt[$i])+ord($mdkey[$k++]))%64;
    $tmp .= $chars[$j];
  }
  return urlencode($ch.$tmp);
}
//解密函數
function unlock_url($txt,$key='www.jfrwli.cn')
{
  $txt = urldecode($txt);
  $chars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789-=+";
  $ch = $txt[0];
  $nh = strpos($chars,$ch);
  $mdkey = md5($key.$ch);
  $mdkey = substr($mdkey,$nh%8, $nh%8+7);
  $txt = substr($txt,1);
  $tmp = '';
  $i=0;$j=0; $k = 0;
  for ($i=0; $i<strlen($txt); $i++) {
    $k = $k == strlen($mdkey) ? 0 : $k;
    $j = strpos($chars,$txt[$i])-$nh - ord($mdkey[$k++]);
    while ($j<0) $j+=64;
    $tmp .= $chars[$j];
  }
  return base64_decode($tmp);
}

用法:

?
1
2
3
4
$str="服務器之家";
$pwd = lock_url($str);
echo "加密之后:".$pwd."<br/>";
echo "解密還原:".unlock_url($pwd);

運行結果:

php實現的三個常用加密解密功能函數示例

算法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
function passport_encrypt($txt, $key = 'www.jfrwli.cn')
{
  srand((double)microtime() * 1000000);
  $encrypt_key = md5(rand(0, 32000));
  $ctr = 0;
  $tmp = '';
  for($i = 0;$i < strlen($txt); $i++) {
  $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
  $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
  }
  return urlencode(base64_encode(passport_key($tmp, $key)));
}
function passport_decrypt($txt, $key = 'www.jfrwli.cn')
{
  $txt = passport_key(base64_decode(urldecode($txt)), $key);
  $tmp = '';
  for($i = 0;$i < strlen($txt); $i++) {
  $md5 = $txt[$i];
  $tmp .= $txt[++$i] ^ $md5;
  }
  return $tmp;
}
function passport_key($txt, $encrypt_key)
{
  $encrypt_key = md5($encrypt_key);
  $ctr = 0;
  $tmp = '';
  for($i = 0; $i < strlen($txt); $i++) {
  $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
  $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
  }
  return $tmp;
}
?>

用法:

?
1
2
3
4
5
6
7
8
<?php
$txt = "1";
$key = "testkey";
$encrypt = passport_encrypt($txt,$key);
$decrypt = passport_decrypt($encrypt,$key);
echo $encrypt."<br>";
echo $decrypt."<br>";
?>

運行結果:

php實現的三個常用加密解密功能函數示例

算法三(改進第一個加密之后的算法)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//加密函數
function lock_url($txt,$key='www.jfrwli.cn')
{
  $txt = $txt.$key;
  $chars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789-=+";
  $nh = rand(0,64);
  $ch = $chars[$nh];
  $mdkey = md5($key.$ch);
  $mdkey = substr($mdkey,$nh%8, $nh%8+7);
  $txt = base64_encode($txt);
  $tmp = '';
  $i=0;$j=0;$k = 0;
  for ($i=0; $i<strlen($txt); $i++) {
    $k = $k == strlen($mdkey) ? 0 : $k;
    $j = ($nh+strpos($chars,$txt[$i])+ord($mdkey[$k++]))%64;
    $tmp .= $chars[$j];
  }
  return urlencode(base64_encode($ch.$tmp));
}
//解密函數
function unlock_url($txt,$key='www.jfrwli.cn')
{
  $txt = base64_decode(urldecode($txt));
  $chars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789-=+";
  $ch = $txt[0];
  $nh = strpos($chars,$ch);
  $mdkey = md5($key.$ch);
  $mdkey = substr($mdkey,$nh%8, $nh%8+7);
  $txt = substr($txt,1);
  $tmp = '';
  $i=0;$j=0; $k = 0;
  for ($i=0; $i<strlen($txt); $i++) {
    $k = $k == strlen($mdkey) ? 0 : $k;
    $j = strpos($chars,$txt[$i])-$nh - ord($mdkey[$k++]);
    while ($j<0) $j+=64;
    $tmp .= $chars[$j];
  }
  return trim(base64_decode($tmp),$key);
}

用法:

?
1
2
3
4
$str="服務器之家";
$pwd = lock_url($str);
echo "加密之后:".$pwd."<br/>";
echo "解密還原:".unlock_url($pwd);

運行結果:

php實現的三個常用加密解密功能函數示例

ps:關于加密解密感興趣的朋友還可以參考本站在線工具:

文字在線加密解密工具(包含aes、des、rc4等):https://tool.zzvips.com/t/txtencode/

md5在線加密工具:https://tool.zzvips.com/t/md5/

在線sha1/sha224/sha256/sha384/sha512加密工具:https://tool.zzvips.com/t/sha/

希望本文所述對大家php程序設計有所幫助。

原文鏈接:http://www.cnblogs.com/zqifa/p/php-8.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产精品永久久久久久久久久 | 女人夜夜春高潮爽av片 | 精品国产一区二区国模嫣然 | 热精品| 欧洲亚洲精品久久久久 | 久久久xxx| 久久久免费 | 依人九九宗合九九九 | 国产免费一区二区三区 | 精品国产一区二区三区日日嗨 | 日韩成人在线视频 | 一级黄色片aaa | 91麻豆精品国产91久久久资源速度 | 中文字幕成人 | 黄毛片视频 | 欧美日韩免费一区二区三区 | 欧美精品一二三 | 成人高清视频在线观看 | 久久综合久色欧美综合狠狠 | av不卡电影在线观看 | 特级淫片日本高清视频免费 | 欧美大片免费高清观看 | 超碰97国产精品人人cao | 国产一区美女视频 | 久草一区| 亚洲精品日本 | 日韩精品1区 | 日日视频 | 一区二区精品在线 | 日韩视频一区 | 成人免费一区二区三区视频软件 | 亚洲高清黄色 | 正在播放国产精品 | 午夜电影在线看 | 亚洲色图一区二区三区 | 国产一区二区三区撒尿在线 | 国产精品永久免费自在线观看 | 国产精品国产a | 伊人五月| 天堂av一区 | 情一色一乱一欲一区二区 |