52AV手機A片王|52AV.ONE

用戶名  找回密碼
 立即註冊
快捷導航
  • 我愛av論壇BBS
  • 手機A片
  • 自拍偷拍外流區
  • 貼圖區
  • 52av裸聊室
  • 中文-中國主播
  • ♥️AI榨精淫域♥️

     
查看: 4566|回復: 0
打印 上一主題 下一主題

[網頁伺服器] Linux下以PHP撰寫 3DES(mcrypt) 加密方法(ECB模式)[含3張圖]

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2014-12-11 21:02:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

本帖最後由 IT_man 於 2014-12-11 22:31 編輯
5 M" V/ a7 y' z5 T% A0 `' |( Y# `; H; J4 H' i
由於敝網站文字加密的需要,需要複雜加密的演算法,因此選擇3DES加密。
3DES加密(Triple DES),是三重加密演算法的通稱,而3DES共有四種模式,下面介紹的是ECB模式的寫法。
首先先檢查linux是否有安裝mcrypt模組,方法如下:

% [4 a/ e& V7 L7 ^; `' ?
  1. rpm -qa | grep php-mcrypt
複製代碼

0 s, z) v. h! X: A2 y* |! @或在你的網站建一個php檔,如phpinfo.php(內容如下)查看是否有mcrypt module

. d7 ^1 c: E$ B1 i) c; w7 s
  1. <?php
    : I* O, k3 M) t# g, I, F
  2. // Show all information, defaults to INFO_ALL) r+ a2 I5 N1 @9 g$ W; ~* p0 h% i
  3. phpinfo();
    ; O, ^8 j1 g# B- ]# ]" M
  4. ?>
複製代碼

, ~0 z; i% Y' [. e8 j$ y" S& T3 d然後於browser 執行phpinfo.php,結果如下:

) a# j! r" M) P/ E* y+ N. Q
4 X3 B$ e# o& P/ w- t

* ~: k1 ]" B+ g3 k$ Y4 T3 p
如果沒有安裝php-mcrypt,則進行安裝(安裝方法),安裝完後再以上述兩種方法擇一加以檢查。
之後就可以撰寫加密程式如下:
; B7 I1 F7 ~6 h7 Y; ~- l6 x  Z- L/ W
  1. //加密函數撰寫# Z- E- C/ H( X  t
  2. function encrypt($source,$toencrypt){  : h9 ~/ T1 x! D5 q) q0 e: v& e% s
  3. //加密用的key   5 V$ w2 k+ b, S& ~# |+ D8 X( F
  4. $key = $source;  6 J$ @6 v9 S. O& M6 ?+ W
  5. //使用3DES方法加密   
    ; \" D3 C5 }/ j3 U
  6. $encryptMethod = MCRYPT_TRIPLEDES; ( L4 N; `5 o; p! P* O9 d
  7. //初始化向量來增加安全性8 e+ W' _% o; G( i) X# S$ ]- a8 E3 {
  8. $iv = mcrypt_create_iv(mcrypt_get_iv_size($encryptMethod,MCRYPT_MODE_ECB), MCRYPT_RAND);  
    7 t7 O) q# Q1 ~
  9. //使用mcrypt_encrypt函數加密,MCRYPT_MODE_ECB表示使用ECB模式
    $ [4 q* ?0 e: O2 y1 s1 j
  10. $encrypted_toencrypt = mcrypt_encrypt($encryptMethod, $key, $toencrypt, MCRYPT_MODE_ECB,$iv);   5 L& A" r( {1 E: U, T  o
  11. //回傳解密後字串
    8 i* X  |( r4 @! i, X
  12. return base64_encode($encrypted_toencrypt);  
    # w0 H: k! D3 G8 V
  13. }  ! k0 m, W$ ?7 V' x* u0 A
  14. //解密函數撰寫3 u& H9 e/ P6 ]
  15. function decrypt($source,$todecrypt) {  
    3 \+ x/ }$ F% p- s, h
  16. //解密用的key,必須跟加密用的key一樣   
    3 o* W2 H7 f+ `; @
  17. $key = $source;  . S4 ]( S& R" q3 p# i5 I, `
  18. //解密前先解開base64碼& G) @5 k, \1 K, i+ j
  19. $todecrypt = base64_decode($todecrypt);
    6 u6 l) ^' E4 n$ ^! _- M( o0 S) y9 t
  20. //使用3DES方法解密& j4 V3 q$ X% A; ]" ?, l
  21. $encryptMethod = MCRYPT_TRIPLEDES;  , ^% K* G$ U) D2 _. ?+ r; `0 j/ Z
  22. //初始化向量來增加安全性
    ) [; e9 A" s" G; j
  23. $iv = mcrypt_create_iv(mcrypt_get_iv_size($encryptMethod,MCRYPT_MODE_ECB), MCRYPT_RAND);  
    6 N( l! ^- I: q3 f# }1 J* }1 w+ @
  24. //使用mcrypt_decrypt函數解密,MCRYPT_MODE_ECB表示使用ECB模式  , {7 y6 {: M( t% L0 H2 u  J8 C1 g
  25. $decrypted_todecrypt = mcrypt_decrypt($encryptMethod, $key, $todecrypt, MCRYPT_MODE_ECB,$iv);* L* h8 u4 z. r) t9 k
  26. //回傳解密後字串
    " t. r' v/ F9 z& o; U% e7 a8 J
  27. return $decrypted_todecrypt;  
    ! r/ @+ s3 b0 e, L- [- }
  28. }  
    8 a+ z2 P, Z7 m& Y' C* {+ R
  29. //寫好加解密的函數之後,就可以來進行測試了, N$ w  F3 Z+ e- O4 z: r- q, o
  30. //key設定
    $ H, ?& \4 Z) F" s9 G4 p$ t8 E
  31. $source ="1234567890";2 i& p8 q5 K' E. {: j( D
  32. //要加密的字串7 c% G) s8 l& W2 c1 X" O, x0 h
  33. $string ="www.av4u.co";# y  {3 J# S: |7 \/ F  F
  34. echo "string=".$string."<br>";
    1 U- H# r+ Z- r) H! x
  35. //進行加密並顯示加密後的字串
    # ~0 W8 j: n$ Y! A( n* I7 X3 R
  36. $encode = encrypt($source,$string);
    ' }: W* Y5 i2 P4 N8 K$ p. U
  37. echo "encode=".$encode."<br>";8 G% g4 E% n. h/ \$ b' w: G8 F. X" I
  38. //進行解密並顯示解密後的字串
    5 }: f) q3 Q/ P2 A. t
  39. $decode = decrypt($source,$encode);
    % }$ u5 ^+ T7 s6 L' j: S
  40. echo "decode=".$decode."<br>";
複製代碼
7 f" L8 `4 y' v: ^. `7 U- P
結果如下:

% Z! O% d( i! c! d9 x% U4 N  u1 K
1 M  \. c4 i$ h% F/ O- `
注意:
      如果加解密過程沒有使用base64碼的話:會造成跨網域的資料傳輸時,接收端無法解讀(是加密過後的資料傳輸錯誤造成,但是在同一網站內的加解密是沒問題的),結果如下:

# v" e  Y& S5 p/ c4 F" k2 \- V: I
回復

舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



聚BT福利

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板|52AV手機A片王

GMT+8, 2025-7-8 08:14 , Processed in 0.073778 second(s), 19 queries .

連絡站長.廣告招商

52avtv@gmail.com | QQ:2405733034     since 2015-01

裸聊妹 快速回復 返回頂部 返回列表