PHP-RSA介绍github地址https://github.com/lmxdawn/PH...中实际项目中登录认证、webapi接口调用、支付接口调用等场合往往会涉及到md5、sh、rsa等算法。MD5算法常用于各大银行的接口,对调用接口的参数进行签名,防止篡改。如果你遇到和我一样的问题:在webapi调用认证中,客户端和服务端使用相同的公钥对提交的参数进行MD5加密校验。然而,2014年,中国山东大学王小云教授发表了一篇关于破译MD5、HAVAL-128、MD4和RIPEMD算法的报告。MD5算法已经通过加速散列和碰撞法破译。MD5还安全吗?RSA定义:RSA是一种公钥加密系统:甲方乙方生成两个密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,而私钥是保密的。B、甲方获得乙方的公钥,并用其加密信息。C、乙方获得加密信息,用私钥解密。RSA的使用:web端见test_rsa.html,php端见test_rsa.php。RSA特点:A.简单易懂,应用广泛。RSA算法是第一个可以同时用于加密和数字签名的算法,同时也易于理解和操作。RSA是研究最广泛的公钥算法。它提出30多年来,经历了各种攻击,逐渐被人们所接受。它被普遍认为是目前最好的公钥方案之一。B、缺点和缺点:加密和解密耗时长,速度慢,只适合加密少量数据。为了提高安全强度,RSA密钥长度至少应为500位,一般推荐1024位。这使得加密计算密集。为了减少计算量,在传输信息时,往往采用传统加密方式和公钥加密方式相结合的方式,即用改进的DES或IDEA会话密钥对信息进行加密,然后将会话密钥和信息使用RSA密钥摘要加密。对方收到信息后,可以用不同的密钥解密,查看信息摘要。需要一个原型工具:OpenSSL下载地址:http://slproweb.com/products/...安装OpenSSL随便安装在OpenSLL的bin目录下点击openssl.exe生成私钥和公钥生成私钥genrsa-outrsa_private_key.pem1024生成公钥rsa-inrsa_private_key.pem-pubout-outrsa_public_key.pem将生成的私钥和公钥复制到你的PHP项目中打开PHP的OpenSSL扩展setextension=php_opensslinphp.ini。dll打开(删除;)