这是rsa_private_key.pem
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCxsv3yAPRvIn2z
j5zZcFCA6qnFUVjyRDNbQA2ni1vcnTlSjP9i0FNJgpZkRaDZ0PprH8t10mXnWtVd
9ZujztmHYWqETgGMGkq9fOou2/naFDXXUvtz2uhcUKCUYQUNXzfJPidfjmXe01OH
eY8iN1X+GFo4LhumXgFIYsfBY8SKjeXgdiTl1Jhk+m+e27qRg0tD/kBVQ5vFmZmS
8g1QWU8RCAYi3N1UicVucLmjg3ORXkZ2jMB7DTQET8i2loGbTqpYzV5d3Ka0D8BS
S7SBAdaipzU4RugaqveOAd2vCXfDtf9VWvdHPTN1OxEsYaJaKAZTYt/pK61wQ0BN
7dJUfSBTAgMBAAECggEAGRNJAn1gAM69Ljl1yLkwowB6NH3mL0mwdY/0XVAtBlSp
YhzDbQ44soba8gthR1tV+wfhjh7CgoMu2LNv4w2tZI06mrDnRv3uzg5yfWpNN5ji
gCAVm6OoZl56SnXmYJyvIpbCt5lAhtELWHKu4AUu/UwybvsSq8dYJv7JcWDCu0pO
RqjRpTmL3jo3Yppw3DGFYhNGOFdurjJdFWgv7YPcSIfWokn4RBUmTEzeSWZTsnrL
1qsjT6Sc8DCeVJeSGjYnMnqKgRDqIxy4tMM4J6Ris32xk5a31XHGVouesI6ZQ/LZ
kDhbietYtF8Y8orx3L2wHPhCgzTXuxnwFbLfw7x2AQKBgQDrwzkWodq6U1y8drv8
HbM0Z16Ed8zXocg3YeADYtO6An7LOhTQZGtN+B2xUi3rY0YvHQB2mKlxkesKJQFk
wylQibFLNrzDPRLXkIIUtmMx3CeEJdwaeOWZikCBK0WPLLI6bekea+jLfhYvgBeJ
plwFhy9qqiUMGxmYKqZioKERKwKBgQDA89oOwzksP4KG9EDdtxGYiKzKmjUFiMWO
RGmWK93kb9yFCYoxwMyvOnG+LcYcT1qS4VPDYpz9OHC+bKhqTbsDpW2nNIngQMNy
dbhvqCsznb2O7sFL923J2oLEQruqEc6wcgVzz5+gqk4lZG5K+x4HJW+1JnZh/6K0
GzmOFISJeQKBgD+rmmhNT8fQKZRQMJZ24uW9IN5/iBeX/n1OdnQTpYBvmhSCXAqn
g/8ricFQo0wVpGem2nAs7F3afXJg6g5vUmIIvZPFdZb4kHUc9rRnSUS24wkiPF39
1mvv1VnM+N0gwgVbl4B6vgTuyUkMu86V2fY4OwsAZj7ttqzMn+C05qq/AoGAaFy8
iZWP+93SBJph50nYS49JHkAwA3FJoTxhe6b4WlEijhZt16E3VGOhF8L8T12gWKdl
Pd29mbyIRobQxMaMK1mzqGdjV5bP373KZyInU8CywXdjt2n5yN7WMb8Cb+c3yvmw
90XKSgUzRUg/23BdenIGLI3EJBc3coDzLWTtlskCgYAEpYvVasV6Xy42zJyIxUeJ
Jqbjm+MQkGU7Q+yLa6+1Ylt51sqIS8Mf8lp4PYYN7GpcFYKVfHIXCZDru1IyfQut
OSWR0pAsgQn7haMRVRjGvzjfinLy+K1llPkpafYj7rWu+z50sIr2bnuGZAGgqVt8
9H+p1jGHtXrt2SWVAIpyWQ==
-----END PRIVATE KEY-----
这是rsa_public_key.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsbL98gD0byJ9s4+c2XBQ
gOqpxVFY8kQzW0ANp4tb3J05Uoz/YtBTSYKWZEWg2dD6ax/LddJl51rVXfWbo87Z
h2FqhE4BjBpKvXzqLtv52hQ111L7c9roXFCglGEFDV83yT4nX45l3tNTh3mPIjdV
/hhaOC4bpl4BSGLHwWPEio3l4HYk5dSYZPpvntu6kYNLQ/5AVUObxZmZkvINUFlP
EQgGItzdVInFbnC5o4NzkV5GdozAew00BE/ItpaBm06qWM1eXdymtA/AUku0gQHW
oqc1OEboGqr3jgHdrwl3w7X/VVr3Rz0zdTsRLGGiWigGU2Lf6SutcENATe3SVH0g
UwIDAQAB
-----END PUBLIC KEY-----

下面只需要加载即可

<?php
#author:zk
#data:--
#note:php rsa secret $public_key = file_get_contents('./rsa_public_key.pem');
$private_key = file_get_contents('./rsa_private_key.pem'); //这个函数可用来判断私钥是否是可用的
$private_key = openssl_pkey_get_private($private_key);
//这个函数可用来判断公钥是否是可用的
$public_key = openssl_pkey_get_public($public_key); //要加密的数据
$data = "这是测试";
echo '加密的数据:'.$data.'<br>'; //私钥加密后的数据
openssl_private_encrypt($data,$encrypted,$private_key); //加密后的内容通常含有特殊字符,需要base64编码转换下
$encrypted = base64_encode($encrypted);
echo "私钥加密后的数据:".$encrypted.'<br>'; //公钥解密
openssl_public_decrypt(base64_decode($encrypted), $decrypted, $public_key);
echo "公钥解密后的数据:".$decrypted.'<br>'; //----相反操作。公钥加密
openssl_public_encrypt($data, $encrypted, $public_key);
$encrypted = base64_encode($encrypted);
echo "公钥加密后的数据:".$encrypted.'<br>'; openssl_private_decrypt(base64_decode($encrypted), $decrypted, $private_key);//私钥解密
echo "私钥解密后的数据:".$decrypted.'<br>';

php RSA 简单实现的更多相关文章

  1. RSA简单实践

    RSA公钥文件解密密文的原理分析 前言 最近在学习 RSA 加解密过程中遇到一个这样的难题:假设已知 publickey 公钥文件和加密后的密文 flag ,如何对其密文进行解密,转换成明文~~ 分析 ...

  2. RSA算法学习

    package com.test.rsa; /* * 为了选择公钥和私钥,Bob必须执行如下步骤: * 1)选择两个大素数p和q.那么p和q应该多大呢?该值越大,RSA越难于破解,但是执行加密和解密所 ...

  3. 前后端API交互数据加密——AES与RSA混合加密完整实例

    前言 前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用R ...

  4. 菜鸟 学注册机编写之 “RSA”

    测试环境  系统: xp sp3 调试器 :od 1.10 RSA简单介绍 选取两个别人不知道的大素数p, q. 公共模n = p*q 欧拉值φ(n) = (p-1)(q-1) 选取公匙(加密匙) e ...

  5. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

  6. crypto必知必会

    crypto必知必会 最近参加了个ctf比赛,在i春秋,南邮方面刷了一些crypto密码学题目,从中也增长了不少知识,在此关于常见的密码学知识做个小总结! Base编码 Base编码中用的比较多的是b ...

  7. App安全

    经常做的网络参数加密解密,以及防止数据重放之外,还提到了防范反编译的风险,其实Apple算比较安全的了,反编译过来也就看到.h文件....但把代码混淆还是会比较好些. 一.iOS 中的网络加密 公司的 ...

  8. ios开发Base64编码以及加密相关学习

    一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只 ...

  9. HTTPS中的TLS

    1. SSL 与 TLS SSL:(Secure Socket Layer) 安全套接层,于 1994 年由网景公司设计,并于 1995 年发布了 3.0 版本TLS:(Transport Layer ...

随机推荐

  1. Design库,所有控件的使用

    导入地址com.android.support:design:23.2.0..输入design搜索到确认就可以. 布局中android.support.design.widget.XXX,调用控件 控 ...

  2. [Linux]history 显示命令执行的时间

    显示历史命令之行时间 这里的环境是centos5.8 vim  ~/.bashrc 或者 ~/.bash_profile 增加 export HISTTIMEFORMAT="%F %T  & ...

  3. Linux - Nginx的集群与负载均衡

    Nginx的集群与负载均衡 集群就是一群人干同样的活,负载均衡就是保证每个人都干得差不多.或者大人干得多一些,小孩干得少一些. Nginx实现负载均衡很方便. 准备三台服务器,一台是用于访问图片(66 ...

  4. Dark roads--hdoj

    Dark roads Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Su ...

  5. Java访问HTTPS时证书验证问题

    为了尽可能避免安全问题,公司的很多系统服务都逐步https化,虽然开始过程会遇到各种问题,但趋势不改.最完美的https应用是能实现双向认证,客户端用私钥签名用服务端公钥加密,服务端用私钥签名客户端都 ...

  6. Angular2之路由学习笔记

    目前工作中项目的主要技术栈是Angular2 在这里简单记录一下遇到的问题以及解决方案. 这篇笔记主要记录Angular2 的路由. 官方文档链接:https://angular.cn/docs/ts ...

  7. 2015 多校赛 第一场 1001 (hdu 5288)

    Description OO has got a array A of size n ,defined a function f(l,r) represent the number of i (l&l ...

  8. pinpoint体系中,关于如何清理过期hbase数据

    版本: pinpoint:1.7.1 hbase:1.2.6 命令行命令: $HBASE_HOME/bin/hbase shell    newrestruct.hbase 备注:保留一天半的数据(秒 ...

  9. linux install PyMsql

    # 安装pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py # 安装PyMysql pip in ...

  10. SDAutoLayout的使用

    ## 简介- IOS布局的三个阶段:MagicNumber -> AutoResizingMask -> AutoLayout- 自动布局三大框架:UILayoutConstraint(原 ...