当前位置:首页 > 日记 > 正文

用详细的解决方案对RSA加密解密

用详细的解决方案对RSA加密解密
1。加密和解密的第一步是生成公钥和私钥对,私钥的加密内容可以由公钥(依次)解密。
下载开源RSA密钥生成工具OpenSSL(通常Linux系统有自己的程序),解压缩到单独的文件夹,输入bin目录,执行以下命令:

复制代码代码如下所示:

OpenSSL的key //生成了rsa_private_key.pem 1024

OpenSSL pkcs8 - topk8通知PEM在rsa_private_key.pem - outform PEM nocrypt出private_key.pem

OpenSSL的RSA在rsa_private_key.pem - pubout出rsa_public_key.pem
第一个命令生成原始的RSA私钥文件rsa_private_key.pem,第二命令将原来的RSA私钥pkcs8格式,和第三生成RSA公钥rsa_public_key.pem。

从上面,我们可以看到相应的公共密钥可以生成的私钥,所以我们用私钥private_key.pem在服务器端和Android和iOS前端的公钥。

2,PHP通过生成的公钥和私钥进行加密和解密,直接在代码上进行加密。

复制代码代码如下所示:

$ FP = fopen(RSA / rsa_private_key PEM 。

private_key美元= fread($ FP,8192);

Fclose($ FP);

FP1 = fopen(美元RSA / rsa_public_key PEM 。

public_key美元= fread($ fp18192);

Fclose($ FP1);

/ /回声private_key美元;

pi_key = openssl_pkey_get_private美元(美元private_key); / /这个函数可用于确定是否私有密钥,身份资源ID返回可用的资源

pu_key = openssl_pkey_get_public美元(美元public_key); / /这个函数可以用来判断公钥是可用的。

print_r($ pi_key);回声;;;

print_r($ pu_key);回声;;;



$data = 'php RAS加密算法;

=加密的$ ;

= $解密;

加密的源数据。;;

私钥加密:;;

openssl_private_encrypt(美元美元美元数据加密,pi_key); / /私有密钥加密

美元($加密)加密= base64_encode; / /加密的内容通常包含特殊字符编码转换,通过在网络中传输的URL应该注意是否Base64编码是URL的安全

回声'私钥加密:' $加密。;;;;

公钥解密:;;

openssl_public_decrypt(base64_decode(加密,解密美元)美元,美元pu_key); / /私有密钥加密的内容可以通过公钥解密

回声'公开密钥解密:' $解密。;;



公钥加密:;;

openssl_public_encrypt(美元美元美元数据加密,pu_key); / /公共密钥加密

美元($加密)加密= base64_encode;

回声$加密,;;

私钥解密:;;

openssl_private_decrypt(base64_decode(加密,解密美元)美元,美元pi_key); / /私有密钥

回声$解密,;;
PHP RSA配置中的常见问题:

PHP开发语言代码示例中的OpenSSL文件夹中的3 DLL文件使用

1。如果你的系统是Windows系统,并没有ssleay32.dll libeay32.dll,system32目录下的文件,在两个文件

然后你需要复制文件到system32目录下文件的两。

2。如果你没有php_openssl.dll在你的PHP安装目录(PHP EXT)

所以请把此文件夹中的php_openssl.dll

喜欢加密和解密的小伙伴必须好好看看这篇文章,并获益匪浅。

相关文章

PS图象处理软件创意唯美的梦幻优雅

PS图象处理软件创意唯美的梦幻优雅

创意,图象,处理软件,唯美,优雅,本教程是梦天使的朋友使用创造性的审美PS图象处理软件合成酷法,教程最后合成出来的效果真的很漂亮,不是很难,做的很详细,推荐这里,一起学习吧 本教程介绍朋友PS图象处理软件合成创作审美梦幻飘逸的天使,教程不是很…

面向对象的静态静态属性和静态方法

面向对象的静态静态属性和静态方法

静态方法,静态属性,调用,面向对象的,静态,本文演示了PHP中静态静态属性和静态方法的调用,供您参考: 这是在PHP面向对象的对象的静态属性和静态方法的调用分析。关于他们的电话(可以称之为,如何调用),你需要找出他们在记忆里,所以很容易理解。静态…

设计师没有艺术基础怎么办

设计师没有艺术基础怎么办

设计师,基础,艺术,电脑软件,我相信很多设计师都有这样的问题,尤其是一个设计师,而不是如何做基本的艺术为了解决一切烦恼,以下萧边讲解详细,一看 没有艺术基金会你怎么办设计师的分析混乱!本文的原作者是Weiminghu Weiminghu设计的设计,感谢原分…

动态代理模式和混合模式的使用实例

动态代理模式和混合模式的使用实例

混合模式,动态代理模式,实例,电脑软件,领先的ORM和国际奥委会的产品离不开动态代理,作为开发商,最不重视内部的动态代理机制,而是理解和模式是必要的,一般的规则,例如:虽然你开发使用POCO期间,由于开放的动态代理,运行期间没有少。在这纸,5代理的生…

水果女孩PS合成体骨折照片特效教程

水果女孩PS合成体骨折照片特效教程

照片,教程,骨折,特效,水果,本教程是向朋友介绍如何使用PS合成水果分解水果照片特效。本教程制作的特效非常有创意,难度不大。 本教程向您展示如何使用PS合成照片破损水果女孩特殊效果的方法,主要阐述人物的合成及变形影响生产。效果图是很有…

jQuery方法来确定对象是否存在

jQuery方法来确定对象是否存在

对象,方法来,是否存在,电脑软件,jQuery,本文的示例介绍了jQuery是否能够判断对象是否存在的方法: 一、传统的javascript编写方法 obj = document.getelementbyid(someid ); 如果(obj){ obj.innertext(嗨); } 在jQuery,var obj = $(# ID)。无论是否存在控制,…

烟花画一个精致的PC显示图标

烟花画一个精致的PC显示图标

图标,显示,画一,烟花,精致,本教程是介绍你绘制一个精致的PC显示图标过程与烟花爆竹。绘图方法比较简单,使PC图标非常漂亮,建议大家过来看看,希望对您有所帮助。 本教程是介绍你绘制一个精致的PC显示图标过程与烟花爆竹。绘图方法比较简单,使PC…

对fs.createwritestream方法在Node

对fs.createwritestream方法在Node

使用说明,方法,电脑软件,fs,createwritestream,方法显示: 返回一个writestream(输出流)的对象(可写流)。 Grammar: 复制代码代码如下所示: Fs.createWriteStream (path, {options}) 由于此方法属于fs模块,因此需要在使用之前引入FS模块(var FS =…

烟花制作美丽透明苹果按钮

烟花制作美丽透明苹果按钮

透明,烟花,按钮,美丽,电脑软件,本教程是向您介绍的方法,使美丽和透明的苹果按钮,通过烟花爆竹。方法很简单。非常适合初学者学习和转发,希望能对你有所帮助。 本教程是向您介绍的方法,使美丽和透明的苹果按钮,通过烟花爆竹。方法很简单。很适合…

PS图象处理软件不能编辑解决方案打

PS图象处理软件不能编辑解决方案打

解决方案,图象,处理软件,编辑,电脑软件,什么不打开PNG图片的PS图象处理软件ps可以打开PNG格式的图片,但不能做任何编辑,图片已经锁定,但它不能解锁,应该怎么办下面分享PNG图片解锁教程,需要的朋友可以参考下。 什么不打开PNG图片的PS图象处理软…

PS制作精美精美的绿色水晶下载按钮

PS制作精美精美的绿色水晶下载按钮

下载,精美,按钮,水晶,电脑软件,本教程是让朋友们很漂亮的绿色水晶下载按钮,用PS教程的方法出来的按钮真的很漂亮,作者给出了详细的解释,思路很清晰,很好,在这里和小朋友一起学习,希望能帮到你。 本教程介绍PS交朋友漂亮精致的绿色水晶按钮教程下…

判断浏览器的内核和版本号

判断浏览器的内核和版本号

内核,版本号,浏览器,电脑软件,浏览器的内核和版本号是由jQuery判断的。 复制代码代码如下所示: $(函数(){()) 如果(美元。browser.msie(美元。browser.version = = 7)){ $(# yourannet)。Css(缘左 } / / IE7浏览器 如果(美元。browser.msie(美元。brow…