php接口数据加密、解密、验证签字代码实例
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+qB7P/EMII/WaFAXBJXDXvZX7lmGcOgon6wLhKJLGXorP6BIxOg6LGc6Ux7BAt3i9+0lujNgxIq/sDsl23hsr3yOUpV5C5a813nrHx4HJyd/hBT1UvIUml+eTmJwWCpSfs2cvxIUr0CE57JAZVyXjK13shK3IsZHLPPsm/JcDCrdy0Co/d5uIGJAdzXdsQ56xsju+tlvnA1J6yq2tDIfYK/x6k911A5WXLKYxztD1nq+bTYN3Gv/WFfrzVtgWQBrh06ihS2cwvna0S9EV/YPmhnAjJmrX4trNr9NXQ9xaZaW4lGRg87U5QDV+nQjj1THk0XHFc69N9g2+DsAGyEs9tK6U0ZQ72hJZqZhBCDH1UKw0PLyIhJdxpgPPOWGp8/QVVU2julTeKunvgAAEc3n+GoZfqjsCDi1S6T2MTnjWYWNoFRBhvEZFD/revgpasTOzDQa5NqR1B+mUF70r6uw6MWLJ7cT9Tz3jq+CA';$aeskey = base64_decode('qZe60QZFxuirub2ey4+7+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+rDknXLqMT+DXeQAqGo4hBmcbej1aoMzn6hIJHk3/TfTAToNN8fgwDotHewsTCBbVkQWtDTby3GouWToVsRi1i/A0Vfb0+xM8MnF46DdhhrnZrycERBSbyrcwIDAQAB';//echo base64_decode($publickey);//rsa签名$signature = 'XHin4uUFqrKDEhKBD/hQisXLFFSxM6EZCvCPqnWCQJq3uEp3ayxmFuUgVE0Xoh4AIWjIIsOWdnaToL1bXvAFKwjCtXnkaRwUpvWrk+Q0eqwsoAdywsVQDEceG5stas1CkPtrznAIW2eBGXCWspOj+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);
每当你讲任何涉及到钱财事务等交易问题时,需要特别注意安全问题的考虑,例如开发一个论坛或者是一个购物车等。
扩展阅读
《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

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

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 !

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)
![Utilisateurs et ordinateurs Active Directory manquants [corrigé de 3 manières]](https://img.php.cn/upload/article/000/465/014/168196830849131.png?x-oss-process=image/resize,m_fill,h_207,w_330)
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

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

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

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

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 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
