Mécanisme de cryptage AES/RSA
Pendant la communication HTTP entre le serveur et le terminal, les paquets sont souvent capturés par le réseau. , décompilation (Android outil de décompilation APK) et autres technologies pour obtenir l'adresse et les paramètres de l' interface de communication HTTP afin d'assurer la sécurité du. informations, nous utilisons la combinaison AES+RSA. Méthode pour crypter et déchiffrer les paramètres de l'interface
1 À propos du mécanisme de cryptage RSA : la clé publique est utilisée pour crypter les données et la clé privée est utilisée pour déchiffrer. les données. La clé publique et la clé privée sont générées en même temps, correspondance biunivoque. Par exemple : A a une clé publique et B a une clé publique et une clé privée. avec la clé publique, B peut le déchiffrer avec la clé privée et la clé publique. >
2. Le cryptage AES est également appelé cryptage symétrique : après que A ait utilisé le mot de passe pour crypter les données en AES, B utilise le même mot de passe pour le décrypter en AES. le texte chiffréMéthode de fonctionnement spécifique :1. Utilisez openssl pour saisir les
attributs pertinents de la clé (nom de l'entreprise, email, etc. .) dans le terminal, puis générez la clé publique et la clé privée sous l'adresse actuelle du terminal. Il y a 7 fichiers au total (voir le lien développé en annexe pour savoir comment utiliser les 7 fichiers 2. À l'heure actuelle, on suppose que le client Android possède la clé publique Public
Keyet que le serveur possède la clé publique et la clé privée PrivateKey 3. Android envoie une requête au serveur : Android génère aléatoirement un mot de passe aléatoire Byte[], en supposant RandomKey="123456", via l'algorithme AES, pour les données
Jsonà utiliser pour le cryptage 4. Mais pour le moment, le serveur ne sait pas quelle est la RandomKey du client, il doit donc transmettre la Randomkey au serveur en même temps, sinon le serveur ne peut pas décrypter les données Json via AES. Mais si la demande est envoyée directement, La RandomKey sera exposée, donc la RandomKey doit être chiffrée de manière irréversible avec RSA.
5 Android utilisera RandomKey pour les données Json cryptées AES et PublicKey pour les données RandomKey cryptées RSA vers le serveur via HTTP. .
6. Le serveur reçoit les données Json cryptées par AES et les données RandomKey cryptées par Rsa
7 Le serveur déchiffre la RandomKey cryptée à l'aide de la clé privée générée. par Android.
8. Utilisez la RandomKey originale pour effectuer le déchiffrement symétrique AES des données Json cryptées. À ce stade, les données Json originales envoyées du côté Android ont été obtenues. Effectuez des opérations commerciales régulières sur le serveur, puis chiffrez les données renvoyées avec AES via RandomKey du côté Android, puis la réponse est renvoyée.
9. Une fois que le terminal Android a reçu les données de réponse, il peut directement effectuer le décryptage AES à l'aide de la RandomKey générée localement.
Vous pouvez consulter l'organigramme détaillé ci-dessous.
Organigramme de transfert de données HTTPS client-serveur
: 1 Au cours du processus de développement proprement dit, il a été constaté que RSA et AES ont des normes de génération de texte chiffré différentes et sont incompatibles avec IOS. IOS nécessite une clé publique différente dans l'algorithme RSA que JAVA. Pour des solutions détaillées, veuillez consulter :
2. Le cryptage AES ne peut pas utiliser de clés dépassant 128 octets, car les versions supérieures à jdk1.7 ne prennent pas en charge les clés dépassant 128 octets.
Résumé : À partir d'un test de performances, l'ensemble du client, depuis l'envoi des données cryptées jusqu'au déchiffrement et à l'obtention des données originales renvoyées, ne dépasse pas
300ms (test de transmission des serveurs Iphone4 et Centos Java). Ce plan n'utilise pas TOKEN, mais il pourra être utilisé à l'avenir. La façon de mettre à jour la clé publique doit également continuer à être améliorée.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

1. Connaissances générales En cryptographie, les algorithmes de chiffrement sont divisés en chiffrement unidirectionnel et chiffrement bidirectionnel. Le chiffrement symétrique signifie que la même clé est utilisée pour le chiffrement et le déchiffrement, y compris le chiffrement AES, le chiffrement DES, etc. Le chiffrement asymétrique fait référence à l'utilisation de différentes clés pour le chiffrement et le déchiffrement, notamment le chiffrement RSA, etc. Le chiffrement unidirectionnel inclut des algorithmes de digestion tels que MD5 et SHA, qui sont irréversibles. Le chiffrement bidirectionnel comprend le chiffrement symétrique et le chiffrement asymétrique. Le cryptage bidirectionnel est réversible et la clé du texte chiffré existe. 2. Introduction à AES AES : Advanced Encryption Standard (Advanced Encryption Standard) est une norme de cryptage par blocs adoptée par le gouvernement fédéral américain et constitue actuellement l'algorithme de cryptage symétrique le plus populaire. Il s'agit d'un algorithme de chiffrement par blocs de nouvelle génération utilisé pour remplacer le DES.

Hier, j'ai vu un article en anglais [1] qui montrait comment utiliser Python pour implémenter l'algorithme RSA. La logique du code est la même que celle de l'article précédent Comprendre l'algorithme RSA. Les amis qui ne connaissent pas RSA peuvent lire l'article Comprendre. l'algorithme RSA, qui fait face à Qu'est-ce que RSA, les principes mathématiques de RSA sont expliqués et un exemple simple est donné. On peut dire que c'est l'article le plus simple pour comprendre RSA sur Quanzhihu (cela vient des commentaires des lecteurs). J'ai exécuté le code fourni en anglais et j'ai découvert qu'il ne pouvait pas crypter le chinois. J'ai donc modifié les fonctions de cryptage et de décryptage pour prendre en charge le cryptage et le décryptage du chinois. L'article d'aujourd'hui explique comment utiliser Python pour implémenter le processus de chiffrement et de déchiffrement RSA afin de vous aider à établir

Comment utiliser PHP et GMP pour exécuter l'algorithme de cryptage et de déchiffrement RSA pour les grands entiers L'algorithme de cryptage RSA est un algorithme de cryptage asymétrique largement utilisé dans le domaine de la sécurité des données. Il met en œuvre le processus de chiffrement à clé publique et de déchiffrement à clé privée basé sur deux nombres premiers particulièrement grands et quelques opérations mathématiques simples. Dans le langage PHP, le calcul de grands entiers peut être réalisé grâce à la bibliothèque GMP (GNUMultiplePrecision), et les fonctions de chiffrement et de déchiffrement peuvent être réalisées en combinant l'algorithme RSA. Cet article explique comment utiliser les bibliothèques PHP et GMP pour

1. Parlons d'un cliché sur la sécurité des interfaces en cas d'accident. Avant le Nouvel An chinois, j'ai réalisé un petit jeu H5 sur les combats d'avions. En mode infini, les points de l'utilisateur doivent être sauvegardés, car le corps utilisé pour passer les paramètres est visible. . Pour des raisons de sécurité de l'interface, j'ai convenu avec le front-end que les paramètres à transmettre sont : les points de mode illimités de l'utilisateur + "un nombre sur lequel nous nous sommes mis d'accord" + la somme de l'identifiant de l'utilisateur après cryptage en Base64, la requête est envoyée au serveur et je la décrypte pour obtenir les points de mode illimité de l'utilisateur ; comme suit : { "integral": MTExMTM0NzY5NQ==",} Mais pendant le nouvel an chinois, l'opération m'est soudainement venue et m'a dit que le score de la liste de classement des points en mode infini était faux : c'est très étrange, la deuxième place n'en est qu'une

Comment utiliser PHP et GMP pour implémenter l'algorithme de cryptage et de déchiffrement RSA L'algorithme de cryptage RSA est un algorithme de cryptage asymétrique largement utilisé dans le domaine de la sécurité de l'information. Dans les applications pratiques, il est souvent nécessaire d'utiliser des langages de programmation pour mettre en œuvre des algorithmes de chiffrement et de déchiffrement RSA. PHP est un langage de script côté serveur couramment utilisé et GMP (GNUMultiplePrecision) est une bibliothèque de calcul mathématique de haute précision qui peut nous aider à effectuer un grand nombre d'opérations requises dans l'algorithme RSA. Cet article expliquera comment utiliser PHP et GMP

Comment écrire un algorithme de chiffrement RSA en utilisant Python ? Introduction : RSA est un algorithme de chiffrement asymétrique largement utilisé dans le domaine de la sécurité de l'information. Dans les communications modernes, l'algorithme de chiffrement RSA est couramment utilisé pour chiffrer et déchiffrer les données sensibles. Cet article explique comment utiliser Python pour écrire l'algorithme de chiffrement RSA et fournit des exemples de code spécifiques. Installez la bibliothèque Python Avant de commencer à écrire l'algorithme de chiffrement RSA, vous devez installer la bibliothèque de chiffrement Python. Il peut être installé à l'aide de la commande suivante : pipinstallrsa generate

Avec le développement et la popularisation d’Internet, la sécurité des données fait l’objet de plus en plus d’attention. La technologie de cryptage est un moyen très efficace lors de la transmission et du stockage des données. Le cryptage peut garantir la confidentialité et l'intégrité des données. En PHP, la technologie de chiffrement AES256 est une méthode de chiffrement très populaire. Cet article présentera en détail sa méthode d'application dans le framework. Introduction à la technologie de cryptage AES256 AES (Advanced Encryption Standard) est la norme de cryptage avancée et constitue une méthode de cryptage moderne et populaire.

La technologie de chiffrement asymétrique RSA est actuellement l’une des méthodes de chiffrement les plus populaires et les plus sécurisées. En tant que langage de programmation largement utilisé, PHP présente également des avantages uniques dans la mise en œuvre du cryptage RSA. Cet article présentera aux lecteurs comment utiliser PHP pour implémenter la technologie de chiffrement asymétrique RSA. 1. Qu'est-ce que l'algorithme RSA ? L'algorithme RSA est une technologie de cryptage asymétrique. Il est généralement utilisé pour le cryptage des données et les signatures numériques. Sa sécurité repose principalement sur un problème de théorie des nombres, à savoir la difficulté de factoriser de très grands entiers en très peu de temps. Flux chiffré par l'algorithme RSA
