強力な PHP 暗号化および復号化クラス

WBOY
リリース: 2016-07-25 09:01:03
オリジナル
919 人が閲覧しました
強力な PHP 暗号化および復号化クラス http://blog.ddian.cn/?post=923
  1. class Ender{
  2. private $enkey;//暗号化と復号化に使用される鍵
  3. //構築パラメータは key です
  4. public function __construct($key=''){
  5. if(! $ key){
  6. $this->enkey=$key;
  7. }
  8. }
  9. // キーを設定します
  10. public 関数 set_key($key){
  11. $this->enkey=$key;
  12. }
  13. private 関数keyED ($txt,$encrypt_key)
  14. {
  15. $encrypt_key = md5($encrypt_key);
  16. $tmp = "" for ($i=0;$i {
  17. if ($ctr==strlen($encrypt_key)) $ctr=0;
  18. $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
  19. $ctr++
  20. }
  21. return $tmp;
  22. }
  23. //文字列を暗号化する
  24. public function encrypt($txt,$key='')
  25. {
  26. if(!$key){
  27. $key=$this-> ;enkey;
  28. }
  29. srand((double)microtime()*1000000);
  30. $ctr=0;
  31. $tmp = ""; =0;$i {
  32. if ($ctr==strlen($encrypt_key)) $ctr=0;
  33. $tmp.= substr($encrypt_key,$ctr,1) .
  34. (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
  35. $ctr++; }
  36. returnbase64_encode($this->keyED($tmp,$key)) ;
  37. }
  38. //文字列を復号化する
  39. public function decrypt($txt,$key='')
  40. {
  41. $txt=base64_decode($txt);
  42. if(!$key){
  43. $key=$this- > ;enkey;
  44. }
  45. $txt = $this->keyED($txt,$key);
  46. $tmp = ""
  47. for ($i=0;$i {
  48. $md5 = substr($txt,$i,1);
  49. $tmp.= (substr($txt,$i,1) ^ $md5); /http://blog.ddian.cn
  50. }
  51. }
  52. コードをコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート