classe de cryptage php

May 04, 2018 am 09:14 AM
php 加密

Le contenu principal de cet article est de présenter la classe de chiffrement PHP, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

<?php
namespace app\index\controller;class Crypt{
    private $key = "";  
    public function __construct($key = null)    
    {
            if (!is_null($key)) {
                        $this->key = $key;        
                        }    
     }    
     //加密函数    
     public function passport_encrypt($txt)
     {
             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($this->passport_key($tmp, $this->key)));    
        }    
        //解密函数    
        public function passport_decrypt($txt)    
        {        
        $txt = $this->passport_key(base64_decode(urldecode($txt)), $this->key);        
        $tmp = '';        
        for ($i = 0; $i < strlen($txt); $i++) {
                    $md5 = $txt[$i];            
                    $tmp .= $txt[++$i] ^ $md5;        
                    }        
                    return $tmp;    
       }    
       private 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;    
                   }
           }
Copier après la connexion

<.>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Date et heure de CakePHP

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Téléchargement de fichiers CakePHP

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

Discuter de CakePHP

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

Guide rapide CakePHP

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

CakePHP créant des validateurs

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Comment analysez-vous et traitez-vous HTML / XML dans PHP?

See all articles