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

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제










![Active Directory 사용자 및 컴퓨터 누락 [3가지 방법으로 해결]](https://img.php.cn/upload/article/000/465/014/168196830849131.png?x-oss-process=image/resize,m_fill,h_207,w_330)
ADUC(Active Directory 사용자 및 컴퓨터) 손실은 많은 Windows Pro 사용자가 보고한 가장 실망스러운 문제 중 하나입니다. ADUC는 관리자가 Microsoft Active Directory를 관리할 수 있게 해주는 놀라운 MMC 스냅인입니다. 그러나 어떤 이유로 Windows Server 또는 Enterprise/Pro 버전에는 이 기능이 없습니다. 왜 누락되었는지, 어떻게 해결할 수 있는지 자세히 살펴보겠습니다. Windows 11에 Active Directory가 있나요? Active Directory는 원격 관리를 원하는 모든 사람에게 유용합니다.

어제 Python을 사용하여 RSA 알고리즘을 구현하는 방법을 보여주는 영어 기사 [1]을 봤습니다. RSA에 익숙하지 않은 친구는 이해라는 기사를 읽을 수 있습니다. RSA란 무엇인가에 대한 RSA 알고리즘과 RSA의 수학적 원리를 설명하고, 간단한 예도 제시하고 있다. 이 글은 Quanzhihu에서 RSA를 이해하기 가장 쉬운 글이라고 할 수 있다(독자 의견에서 따온 것이다). 영어로 제공된 코드를 실행해보니 중국어를 암호화할 수 없는 것을 발견하여 중국어 암호화 및 복호화를 지원하도록 암호화 및 복호화 기능을 수정했습니다. 오늘 기사에서는 Python을 사용하여 RSA 암호화 및 암호 해독 프로세스를 구현하는 방법을 공유합니다.

PHP 및 GMP를 사용하여 큰 정수에 대해 RSA 암호화 및 암호 해독 알고리즘을 수행하는 방법 RSA 암호화 알고리즘은 데이터 보안 분야에서 널리 사용되는 비대칭 암호화 알고리즘입니다. 특히 큰 두 개의 소수와 몇 가지 간단한 수학적 연산을 기반으로 공개 키 암호화 및 개인 키 암호 해독 프로세스를 구현합니다. PHP 언어에서는 GMP(GNUMultiplePrecision) 라이브러리를 통해 큰 정수 계산을 구현하고, RSA 알고리즘을 결합해 암복호화 기능을 구현한다. 이 기사에서는 PHP 및 GMP 라이브러리를 사용하여 다음을 수행하는 방법을 소개합니다.

PHP와 GMP를 사용하여 RSA 암호화 및 복호화 알고리즘을 구현하는 방법 RSA 암호화 알고리즘은 정보 보안 분야에서 널리 사용되는 비대칭 암호화 알고리즘입니다. 실제 응용에서는 RSA 암호화 및 복호화 알고리즘을 구현하기 위해 프로그래밍 언어를 사용해야 하는 경우가 많습니다. PHP는 일반적으로 사용되는 서버측 스크립팅 언어이고, GMP(GNUMultiplePrecision)는 RSA 알고리즘에 필요한 많은 연산을 수행하는 데 도움을 줄 수 있는 고정밀 수학 계산 라이브러리입니다. 이 기사에서는 PHP와 GMP를 사용하는 방법을 소개합니다.

Python을 사용하여 RSA 암호화 알고리즘을 작성하는 방법은 무엇입니까? 소개: RSA는 정보 보안 분야에서 널리 사용되는 비대칭 암호화 알고리즘입니다. 현대 통신에서는 RSA 암호화 알고리즘이 일반적으로 민감한 데이터를 암호화하고 해독하는 데 사용됩니다. 이 기사에서는 Python을 사용하여 RSA 암호화 알고리즘을 작성하는 방법을 소개하고 특정 코드 예제를 제공합니다. Python 라이브러리 설치 RSA 암호화 알고리즘 작성을 시작하기 전에 Python 암호화 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다: pipinstallrsa generate

RSA 비대칭 암호화 기술은 현재 가장 널리 사용되고 안전한 암호화 방법 중 하나입니다. 널리 사용되는 프로그래밍 언어인 PHP는 RSA 암호화 구현에 있어서도 고유한 이점을 가지고 있습니다. 이 기사에서는 독자들에게 PHP를 사용하여 RSA 비대칭 암호화 기술을 구현하는 방법을 소개합니다. 1. RSA 알고리즘이란 무엇입니까? RSA 알고리즘은 일반적으로 데이터 암호화 및 디지털 서명에 사용됩니다. 보안은 주로 정수론 문제, 즉 매우 짧은 시간에 매우 큰 정수를 인수분해하는 어려움에 기반합니다. RSA 알고리즘 암호화 스트림

미국 국립표준기술연구소(NIST)는 거의 10년 간의 작업 끝에 3가지 포스트 양자 암호화 표준을 완성했습니다. 이러한 움직임은 공개 키 암호화를 해독할 수 있는 신흥 양자 컴퓨터의 능력을 준비하기 위한 것입니다.

MacOS Ventura에서 RSA 서명을 사용하지 않는 SSH를 수정하는 방법 RSA 호스트 키를 다시 허용하도록 ssh_config 파일을 수정합니다. 방법은 다음과 같습니다. Spotlight 또는 유틸리티 폴더를 통해 터미널을 열고 다음 명령 문자열을 입력합니다. sudonano /etc/ssh/ssh_config 관리자 비밀번호로 인증해야 합니다. ssh_config 파일의 맨 아래까지 스크롤하고 ssh_config 맨 아래에 HostkeyAlgorithms+ssh-rsaPubkeyA 줄을 추가합니다.
