PHP-RSA
简介
github 地点 https://github.com/lmxdawn/PH…
现实项目中的上岸认证、web api接口挪用、付出接口挪用等场所常常涉及到:md5、sh、 rsa等算法。
各大银行接口中常常运用MD5算法对挪用接口参数举行署名防改动。
假如你和我有一样的题目 :
web api挪用认证中,客户端和服务端经由过程雷同的公钥对提交参数举行MD5加密,举行考证。但
2014年中国山东大学的王小云传授宣布破译了MD5、HAVAL-128、 MD4和RIPEMD算法的报告。经由过程加
速的杂凑与冒犯要领破译了MD5算法,MD5还平安吗?
RSA定义:
RSA为公钥加密体系体例:
A.乙方天生两把密钥(公钥和私钥)。公钥是公然的,任何人都可以取得,私钥则是保密的。
B.甲方猎取乙方的公钥,然后用它对信息加密。
C.乙方获得加密后的信息,用私钥解密。
RSA运用:
web 端 见 test_rsa.html
php 端 见 test_rsa.php
RSA特性:
A.便于明白,运用广泛。
RSA算法是第一个能同时用于加密和数字署名的算法,也易于明白和操纵。 RSA是被研讨得最广泛的公钥算法,从提出到当今的三十多年里,阅历了种种进击的磨练, 逐步为人们接收,广泛认为是现在最优异的公钥计划之一。
B.瑕玷与不足:
加密和解密消费时间长、速度慢,只合适对少许数据举行加密。
为进步保密强度,RSA密钥最少为500位长,平常引荐运用1024位。这就使加密的盘算量很大。 为削减盘算量,在传送信息时,常采纳传统加密要领与公然密钥加密要领相结合的体式格局, 即信息采纳革新的DES或IDEA对话密钥加密,然后运用RSA密钥加密对话密钥和信息择要。 对方收到信息后,用差别的密钥解密并可查对信息择要。
须要原型东西:
OpenSSL下载地点:http://slproweb.com/products/…
装置OpenSSL
随便装置到哪里
点击OpenSLL的bin目录下的 openssl.exe 举行私钥和公钥的天生
天生私钥
genrsa -out rsa_private_key.pem 1024
天生公钥
rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
将临盆的私钥、公钥拷贝到你的PHP项目中
开启PHP的OpenSSL扩大
将php.ini中的extension=php_openssl.dll开启(去掉;)