Table des matières
php接口数据加密、解密、验证签名
 扩展阅读
Maison développement back-end tutoriel php php接口数据加密、解密、验证签字代码实例

php接口数据加密、解密、验证签字代码实例

Jun 13, 2016 pm 12:22 PM
directory rsa signature

php接口数据加密、解密、验证签名代码实例

php接口数据加密、解密、验证签名

代码很简单,这里就不多废话了,直接奉上代码

<?php/** * 数据加密,解密,验证签名 * @edit http://www.lai18.com * @date 2015-07-08 **///header('Content-Type: text/xml; charset=utf-8');include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Math'.DIRECTORY_SEPARATOR.'BigInteger.php');include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Crypt'.DIRECTORY_SEPARATOR.'AES.php');include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Crypt'.DIRECTORY_SEPARATOR.'RSA.php');//密文$crypttext = 'v66YKULHFld2JElhm/J9qik2Edr1JHdZIc/k/OesU2GbTX2usXyvF4jGvzvoihrrE8FsfKmllmjsMIjO5fdrS/FD20bYFii4JW3BO3bzshXmz6AEs2DWwG4sK9mNojfOC0IsMoV311X5/JlgUoQXkDy4F5HHpYE9d/xGb0g2XE/hnGSSy2cpQcvQtBlBmixwSckNhsEG92lovlOz8ULwkqG5o7x&#43;qB7P/EMII/WaFAXBJXDXvZX7lmGcOgon6wLhKJLGXorP6BIxOg6LGc6Ux7BAt3i9&#43;0lujNgxIq/sDsl23hsr3yOUpV5C5a813nrHx4HJyd/hBT1UvIUml&#43;eTmJwWCpSfs2cvxIUr0CE57JAZVyXjK13shK3IsZHLPPsm/JcDCrdy0Co/d5uIGJAdzXdsQ56xsju&#43;tlvnA1J6yq2tDIfYK/x6k911A5WXLKYxztD1nq&#43;bTYN3Gv/WFfrzVtgWQBrh06ihS2cwvna0S9EV/YPmhnAjJmrX4trNr9NXQ9xaZaW4lGRg87U5QDV&#43;nQjj1THk0XHFc69N9g2&#43;DsAGyEs9tK6U0ZQ72hJZqZhBCDH1UKw0PLyIhJdxpgPPOWGp8/QVVU2julTeKunvgAAEc3n&#43;GoZfqjsCDi1S6T2MTnjWYWNoFRBhvEZFD/revgpasTOzDQa5NqR1B&#43;mUF70r6uw6MWLJ7cT9Tz3jq&#43;CA';$aeskey = base64_decode('qZe60QZFxuirub2ey4&#43;7&#43;Q==');//AES解密,采用ECB模式$aes = new Crypt_AES(CRYPT_MODE_ECB);//设置AES密钥$aes->setKey($aeskey);//解密AES密文$plaintext = $aes->decrypt(base64_decode($crypttext));echo $plaintext;echo '<hr />';//AES加密明文//echo $aes->encrypt($plaintext);//rsa公钥$publickey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCffOeIVYut9jW5w1L5uKX4aDvd837a8JhaWm5S8YqNQfgEmfD9T&#43;rDknXLqMT&#43;DXeQAqGo4hBmcbej1aoMzn6hIJHk3/TfTAToNN8fgwDotHewsTCBbVkQWtDTby3GouWToVsRi1i/A0Vfb0&#43;xM8MnF46DdhhrnZrycERBSbyrcwIDAQAB';//echo base64_decode($publickey);//rsa签名$signature = 'XHin4uUFqrKDEhKBD/hQisXLFFSxM6EZCvCPqnWCQJq3uEp3ayxmFuUgVE0Xoh4AIWjIIsOWdnaToL1bXvAFKwjCtXnkaRwUpvWrk&#43;Q0eqwsoAdywsVQDEceG5stas1CkPtrznAIW2eBGXCWspOj&#43;aumEAcPyYDxLhDN646Krzw=';//echo base64_decode($signature);$rsa = new Crypt_RSA();//设置RSA签名模式 CRYPT_RSA_SIGNATURE_PSS or CRYPT_RSA_SIGNATURE_PKCS1$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);//var_dump($rsa->createKey());//生成RSA公钥、私钥//extract($rsa->createKey());//使用RSA私钥生成签名//$rsa->loadKey($privatekey);//$signature = $rsa->sign($plaintext);//使用RSA公钥验证签名echo $plaintext;$rsa->loadKey(base64_decode($publickey));echo $rsa->verify($plaintext, base64_decode($signature)) ? 'verified' : 'unverified';echo '<hr />';//生成RSA公钥、私钥//var_dump($rsa->createKey());extract($rsa->createKey());//使用RSA私钥加密数据$rsa->loadKey($privatekey);$ciphertext = $rsa->encrypt($plaintext);//使用RSA公钥解密数据$rsa->loadKey($publickey);echo $rsa->decrypt($ciphertext);
Copier après la connexion

每当你讲任何涉及到钱财事务等交易问题时,需要特别注意安全问题的考虑,例如开发一个论坛或者是一个购物车等。

 扩展阅读

《PHP实用问题解决案例》系列技术文章整理收藏 

1PHP汉字拼音转换和公历农历转换

2php购物车实现方法

3PHP实现格式化文件数据大小显示的方法

4PHP+jquery实时显示网站在线人数的方法

5PHP 实现判断用户是否手机访问

6PHP转义Json里的特殊字符的函数

7php基于socket实现SMTP发送邮件的方法

8PHP查询快递信息的方法

9PHP简单获取视频预览图的方法

10php接口数据加密、解密、验证签名

11php计算指定目录下文件占用空间的方法

12php通过递归方式复制目录和子目录的方法

13php中通过DirectoryIterator删除整个目录的方法

14PHP生成迅雷、快车、旋风等软件的下载链接代码实例

15PHP中文乱码分类及解决办法大全

16php从数组中随机选择若干不重复元素的方法

17PHP文件上传问题总结——文件大小检测以及大文件上传处理

18如何修改PHP的memory_limit限制

19php判断一个请求是ajax请求还是普通请求的方法

20PHP超牛逼无限极分类生成树方法

21长微博生成(将html转化为图片)原理浅析

版权声明:本文为博主原创文章,未经博主允许不得转载。

1楼qq2291738886昨天 20:51
2291738886
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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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 grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Utilisateurs et ordinateurs Active Directory manquants [corrigé de 3 manières] Utilisateurs et ordinateurs Active Directory manquants [corrigé de 3 manières] Apr 20, 2023 pm 01:25 PM

La perte d'utilisateurs et d'ordinateurs Active Directory (ADUC) est l'un des problèmes les plus frustrants signalés par de nombreux utilisateurs de Windows Pro. ADUC est un incroyable composant logiciel enfichable MMC qui permet aux administrateurs de gérer Microsoft Active Directory. Cependant, pour une raison quelconque, il est absent des éditions Windows Server ou Enterprise/Pro. Examinons de plus près pourquoi il manque et comment nous pouvons y remédier. Windows 11 a-t-il Active Directory ? Active Directory est utile pour tous ceux qui souhaitent gérer des applications à distance

Utiliser Python pour implémenter le chiffrement et le déchiffrement RSA Utiliser Python pour implémenter le chiffrement et le déchiffrement RSA Apr 14, 2023 pm 02:13 PM

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 des algorithmes de cryptage et de déchiffrement RSA pour les grands entiers Comment utiliser PHP et GMP pour exécuter des algorithmes de cryptage et de déchiffrement RSA pour les grands entiers Jul 28, 2023 pm 05:25 PM

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

Comment implémenter des algorithmes de cryptage et de déchiffrement RSA à l'aide de PHP et GMP Comment implémenter des algorithmes de cryptage et de déchiffrement RSA à l'aide de PHP et GMP Jul 28, 2023 pm 11:54 PM

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 ? Comment écrire un algorithme de chiffrement RSA en utilisant Python ? Sep 20, 2023 pm 01:21 PM

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

PHP implémente la technologie de chiffrement asymétrique RSA PHP implémente la technologie de chiffrement asymétrique RSA Jun 18, 2023 am 09:34 AM

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

Le NIST finalise trois normes de cryptographie post-quantique pour mieux protéger Internet, les cryptomonnaies et les communications Le NIST finalise trois normes de cryptographie post-quantique pour mieux protéger Internet, les cryptomonnaies et les communications Aug 15, 2024 pm 03:50 PM

L’Institut national américain des normes et technologies (NIST) a finalisé trois normes de cryptographie post-quantique après près d’une décennie de travail. Cette décision prépare la capacité des ordinateurs quantiques émergents à déchiffrer la cryptographie à clé publique.

Comment réparer SSH qui ne fonctionne pas sur MacOS Ventura Comment réparer SSH qui ne fonctionne pas sur MacOS Ventura Apr 23, 2023 am 11:46 AM

Comment réparer SSH n'utilisant pas les signatures RSA sur MacOS Ventura Nous allons modifier le fichier ssh_config pour autoriser à nouveau les clés d'hôte RSA, voici comment procéder. Ouvrez le Terminal (soit via Spotlight, soit via le dossier Utilitaires) et entrez la chaîne de commande suivante : sudonano /etc/ssh/ssh_config Vous devrez vous authentifier avec le mot de passe administrateur. Faites défiler jusqu'en bas du fichier ssh_config et ajoutez la ligne suivante au bas de ssh_config : HostkeyAlgorithms+ssh-rsaPubkeyA

See all articles