国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Applet WeChat Développement WeChat Partagez un exemple de tutoriel sur le décryptage des données dans le développement WeChat

Partagez un exemple de tutoriel sur le décryptage des données dans le développement WeChat

May 20, 2017 pm 04:19 PM

Récemment, j'utilise le framework thinkphp pour écrire le c?té serveur de l'applet WeChat. C'est peut-être à cause de Virgo. J'ai téléchargé une démo de décryptage PHP WeChat sur le site officiel. Elle peut être intégrée dans une classe sans beaucoup de code. C'est nécessaire. Il est écrit en plusieurs catégories. Considérant que le framework thinkphp 5.0 semble trop pénible pour les références de classes étendues, il est intégré dans une seule classe pour un appel facile. Les amis dans le besoin peuvent le télécharger.

Partagez un exemple de tutoriel sur le décryptage des données dans le développement WeChat


Adresse de téléchargement du disque Baidu?:
pan.baidu.com/s/1kURMQ2b

<?php
/**
 * 對微信小程序用戶加密數(shù)據(jù)的解密示例代碼.
 *
 * @copyright Copyright (c) 1998-2014 Tencent Inc.
 */

class WXBizDataCrypt
{
    private $appid;
    private $sessionKey;
    private $blockSize = 16;

    private $OKs = 0;
    private $IllegalAesKey = -41001;
    private $IllegalIv = -41002;
    private $IllegalBuffer = -41003;
    private $DecodeBase64Error = -41004;

    /**
     * 檢驗數(shù)據(jù)的真實性,并且獲取解密后的明文.
     * @param $encryptedData string 加密的用戶數(shù)據(jù)
     * @param $iv string 與用戶數(shù)據(jù)一同返回的初始向量
     * @param $data string 解密后的原文
     *
     * @return int 成功0,失敗返回對應的錯誤碼
     */
    public function decryptData($appid,$sessionKey,$encryptedData, $iv, &$data )
    {
        $this->sessionKey = $sessionKey;
        $this->appid = $appid;

        if (strlen($this->sessionKey) != 24) {
            return $this->IllegalAesKey;
        }
        $aesKey=base64_decode($this->sessionKey);

        if (strlen($iv) != 24) {
            return $this->IllegalIv;
        }
        $aesIV=base64_decode($iv);

        $aesCipher=base64_decode($encryptedData);

        $result = $this->decrypt($aesKey,$aesCipher,$aesIV);

        if ($result[0] != 0) {
            return $result[0];
        }

        $dataObj=json_decode( $result[1] );

        if( $dataObj  == NULL )
        {
            return $this->IllegalBuffer;
        }
        if( $dataObj->watermark->appid != $this->appid )
        {
            return $this->IllegalBuffer;
        }
        $data = $result[1];
        return $this->OKs;
    }

    /**
     * 對密文進行解密
     * @param string $aesCipher 需要解密的密文
     * @param string $aesIV 解密的初始向量
     * @return string 解密得到的明文
     */
    private function decrypt($key, $aesCipher, $aesIV )
    {
        try {

            $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#39;&#39;, MCRYPT_MODE_CBC, &#39;&#39;);

            mcrypt_generic_init($module, $key, $aesIV);

            //解密
            $decrypted = mdecrypt_generic($module, $aesCipher);
            mcrypt_generic_deinit($module);
            mcrypt_module_close($module);
        } catch (Exception $e) {
            return array($this->IllegalBuffer, null);
        }


        try {
            //去除補位字符
            $result = $this->decode($decrypted);

        } catch (Exception $e) {
            //print $e;
            return array($this->IllegalBuffer, null);
        }
        return array(0, $result);
    }

    /**
     * 對需要加密的明文進行填充補位
     * @param $text 需要進行填充補位操作的明文
     * @return 補齊明文字符串
     */
    private function encode( $text )
    {
        $block_size = $this->blockSize;
        $text_length = strlen( $text );
        //計算需要填充的位數(shù)
        $amount_to_pad = $this->blockSize - ( $text_length % $this->blockSize );
        if ( $amount_to_pad == 0 ) {
            $amount_to_pad = $this->blockSize;
        }
        //獲得補位所用的字符
        $pad_chr = chr( $amount_to_pad );
        $tmp = "";
        for ( $index = 0; $index < $amount_to_pad; $index++ ) {
            $tmp .= $pad_chr;
        }
        return $text . $tmp;
    }

    /**
     * 對解密后的明文進行補位刪除
     * @param decrypted 解密后的明文
     * @return 刪除填充補位后的明文
     */
    private function decode($text)
    {

        $pad = ord(substr($text, -1));
        if ($pad < 1 || $pad > 32) {
            $pad = 0;
        }
        return substr($text, 0, (strlen($text) - $pad));
    }

}

Si vous en avez besoin, téléchargez-le vous-même. ps?: Si vous ne comprenez pas le processus d'autorisation de connexion à WeChat, vous pouvez laisser un message pour consultation.

[Recommandations associées]

1. Téléchargement du code source de la plateforme de compte public WeChat

2 Version de fonctionnement du système de micro-commerce PigCms. (centre commercial WeChat indépendant + système de distribution à trois niveaux)

3 WeChat People Network v3.4.5 Advanced Business Edition Code source de WeChat Rubik's Cube

.

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

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)

Sujets chauds

Tutoriel PHP
1502
276
Développement Java?: comment implémenter le cryptage et le déchiffrement des données Développement Java?: comment implémenter le cryptage et le déchiffrement des données Sep 20, 2023 am 08:46 AM

Développement Java : Comment mettre en ?uvre le cryptage et le déchiffrement des données, des exemples de code spécifiques sont nécessaires Introduction : Dans le contexte de l'ère de l'information moderne, la sécurité des données est devenue de plus en plus importante. Pour les développeurs, savoir protéger la sécurité des données des utilisateurs est une compétence essentielle. Le cryptage et le décryptage des données sont l’un des moyens importants de sécurité des données. Cet article explique comment utiliser le langage Java pour implémenter le cryptage et le déchiffrement des données et donne des exemples de code spécifiques. 1. Introduction à l'algorithme de cryptage des données Le cryptage des données fait référence au traitement des données originales via un certain algorithme afin qu'elles puissent être traitées sans

Comment crypter et décrypter des données en Python Comment crypter et décrypter des données en Python Oct 18, 2023 am 10:15 AM

Comment crypter et déchiffrer des données en Python, des exemples de code spécifiques sont nécessaires. Le cryptage et le déchiffrement des données sont des concepts très importants dans le domaine de la sécurité de l'information. Dans les applications pratiques, nous devons souvent chiffrer des données sensibles pour empêcher tout accès non autorisé et toute fuite d’informations. Python est un langage de programmation puissant qui fournit une multitude de bibliothèques et de fonctions pour mettre en ?uvre des opérations de cryptage et de décryptage de données. Cet article présentera certains algorithmes de chiffrement couramment utilisés et des exemples de code spécifiques pour implémenter le chiffrement et le déchiffrement des données en Python. 1.MD5

Comment utiliser Laravel pour implémenter des fonctions de cryptage et de décryptage de données Comment utiliser Laravel pour implémenter des fonctions de cryptage et de décryptage de données Nov 03, 2023 pm 04:19 PM

Présentation de la fa?on d'utiliser Laravel pour implémenter les fonctions de cryptage et de décryptage des données : Dans les applications Internet modernes, il est très important de protéger la sécurité des données des utilisateurs. L'une des mesures de sécurité importantes est le stockage crypté des données sensibles. Laravel, en tant que framework PHP populaire, prend en charge diverses fonctions de cryptage et de décryptage. Cet article explique comment utiliser la bibliothèque de chiffrement de Laravel pour chiffrer et déchiffrer des données. étape 1 : Installer Laravel Tout d'abord, assurez-vous que Larav est installé localement ou sur le serveur

Développement PHP WeChat?: Comment implémenter le cryptage et le décryptage des messages Développement PHP WeChat?: Comment implémenter le cryptage et le décryptage des messages May 13, 2023 am 11:40 AM

PHP est un langage de script open source largement utilisé dans le développement Web et la programmation c?té serveur, notamment dans le développement de WeChat. Aujourd'hui, de plus en plus d'entreprises et de développeurs commencent à utiliser PHP pour le développement de WeChat, car il est devenu un langage de développement vraiment facile à apprendre et à utiliser. Dans le développement de WeChat, le cryptage et le décryptage des messages sont une question très importante car ils impliquent la sécurité des données. Pour les messages sans méthodes de cryptage et de décryptage, les pirates peuvent facilement obtenir les données, ce qui constitue une menace pour les utilisateurs.

Méthodes et techniques de cryptage et de déchiffrement de données à l'aide de tableaux PHP Méthodes et techniques de cryptage et de déchiffrement de données à l'aide de tableaux PHP Jul 16, 2023 pm 04:02 PM

Méthodes et techniques de cryptage et de déchiffrement des données à l'aide de tableaux PHP Résumé?: Le cryptage des données joue un r?le important dans la sécurité des informations. Cet article présentera les méthodes et techniques d'utilisation des tableaux PHP pour implémenter le cryptage et le déchiffrement des données afin de protéger la sécurité des informations sensibles. Introduction Dans la société moderne, les problèmes de sécurité des réseaux attirent de plus en plus l'attention. Pour protéger la sécurité des informations sensibles, le cryptage des données est une méthode courante. Le tableau PHP est une structure de données puissante et flexible qui peut être utilisée pour stocker et manipuler des données. En stockant les données sensibles dans un tableau PHP

Utilisez le framework Gin pour implémenter les fonctions de cryptage et de décryptage des données Utilisez le framework Gin pour implémenter les fonctions de cryptage et de décryptage des données Jun 23, 2023 am 08:12 AM

Dans le domaine Internet moderne, la sécurité des données a toujours été un sujet important. Lors de la transmission, du stockage et du traitement des données, nous devons utiliser divers moyens techniques pour garantir la sécurité des données. L'un des moyens techniques les plus importants est le cryptage des données. Gin est un framework web basé sur le langage Go. Sa simplicité, sa facilité d'utilisation, son efficacité et sa stabilité ont été privilégiées par de nombreux développeurs. Cet article expliquera comment utiliser le framework Gin pour implémenter des fonctions de cryptage et de décryptage de données. Apprenons-en ensemble. Tout d’abord, nous devons comprendre certaines connaissances de base sur les algorithmes de chiffrement.

Développement PHP WeChat?: Comment implémenter la fonction de vote Développement PHP WeChat?: Comment implémenter la fonction de vote May 14, 2023 am 11:21 AM

Dans le développement des comptes publics WeChat, la fonction de vote est souvent utilisée. La fonction de vote est un excellent moyen pour les utilisateurs de participer rapidement aux interactions, et c'est également un outil important pour organiser des événements et recueillir des opinions. Cet article vous présentera comment utiliser PHP pour implémenter la fonction de vote WeChat. Obtenez l'autorisation du compte officiel WeChat. Tout d'abord, vous devez obtenir l'autorisation du compte officiel WeChat. Sur la plateforme publique WeChat, vous devez configurer l'adresse API du compte public WeChat, le compte officiel et le token correspondant au compte public. Dans le processus de développement en langage PHP, nous devons utiliser le PH officiellement fourni par WeChat

Service RPC basé sur ThinkPHP6 et Swoole pour implémenter le cryptage et le décryptage des données Service RPC basé sur ThinkPHP6 et Swoole pour implémenter le cryptage et le décryptage des données Oct 12, 2023 pm 02:57 PM

Implémentation du cryptage et du décryptage des données à l'aide des services RPC basés sur ThinkPHP6 et Swoole à mesure que les problèmes de sécurité des réseaux deviennent de plus en plus importants, le besoin de cryptage et de décryptage des données devient de plus en plus important. Dans les applications Web, la communication entre différents serveurs peut être réalisée grace à la technologie RPC (appel de procédure à distance), et le cryptage et le déchiffrement des données peuvent garantir la sécurité des données pendant le processus de communication. Cet article présentera comment implémenter un service RPC basé sur le framework ThinkPHP6 et Swoole, et y ajoutera le cryptage et le décryptage des données.

See all articles