RSA密码传输加密方案Word 文档_第1页
RSA密码传输加密方案Word 文档_第2页
RSA密码传输加密方案Word 文档_第3页
RSA密码传输加密方案Word 文档_第4页
RSA密码传输加密方案Word 文档_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RSA密码传输加密方案对应的【鲁能集团泰山度假俱乐部产品展示系统安全功能初测观察报告】中的(5,6)互联网的发展史上,安全性一直是开发者们相当重视的一个主题,为了实现数据传输安全,我们需要保证数据来源(非伪造请求)、数据完整性(没有被人修改过)、数据私密性(密文,无法直接读取)等。虽然现在已经有SSL/TLS协议实现的HTTPS协议,但是因在客户端上依赖浏览器的正确实现,而且效率又很低,所以一般的敏感数据(如交易支付信息等)还是需要我们使用加密方法来手动加密。虽然对于一般的WEB开发人员来说,大可不必深入了解一些安全相关的底层技术,但学习加密基础知识,使用现有加密相关工具却十分必要。由于工作需要,自己看了些加密相关文章,结合自己的使用经历,完成此文。RSA加密算法是一种非对称加密算法。在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年由罗纳德李维斯特(RONRIVEST)、阿迪萨莫尔(ADISHAMIR)和伦纳德阿德曼(LEONARDADLEMAN)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。加密基础学习如何使用加密之前,我们需要了解一些加密相关的基础知识。加密算法一般分为两种对称加密算法和非对称加密算法。对称加密对称加密算法是消息发送者和接收者使用同一个密匙,发送者使用密匙加密了文件,接收者使用同样的密匙解密,获取信息。常见的对称加密算法有DES/AES/3DES对称加密算法的特点有速度快,加密前后文件大小变化不大,但是密匙的保管是个大问题,因为消息发送方和接收方任意一方的密匙丢失,都会导致信息传输变得不安全。非对称加密与对称加密相对的是非对称加密,非对称加密的核心思想是使用一对相对的密匙,分为公匙和私匙,私匙自己安全保存,而将公匙公开。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。发送数据前只需要使用接收方的公匙加密就行了。常见的非对称加密算法有RSA/DSA非对称加密虽然没有密匙保存问题,但其计算量大,加密速度很慢,有时候我们还需要对大块数据进行分块加密。数字签名为了保证数据的完整性,还需要通过散列函数计算得到一个散列值,这个散列值被称为数字签名。其特点有无论原始数据是多大,结果的长度相同的;输入一样,输出也相同;对输入的微小改变,会使结果产生很大的变化;加密过程不可逆,无法通过散列值得到原来的数据;常见的数字签名算法有MD5,HASH1等算法。PHP的OPENSSL扩展OPENSSL扩展使用OPENSSL加密扩展包,封装了多个用于加密解密相关的PHP函数,极大地方便了对数据的加密解密。常用的函数有对称加密相关STRINGOPENSSL_ENCRYPTSTRINGDATA,STRINGMETHOD,STRINGPASSWORD其中DATA为其要加密的数据,METHOD是加密要使用的方法,PASSWORD是要使用的密匙,函数返回加密后的数据;其中METHOD列表可以使用OPENSSL_GET_CIPHER_METHODS来获取,我们选取其中一个使用,METHOD列表形如ARRAY0AES128CBC,/AES加密1DESECB,/DES加密2DESEDE3,/3DES加密其解密函数为STRINGOPENSSL_ENCRYPTSTRINGDATA,STRINGMETHOD,STRINGPASSWORD非对称加密相关OPENSSL_GET_PUBLICKEYOPENSSL_PKEY_GET_PUBLIC/从证书导出公匙;OPENSSL_GET_PRIVATEKEYOPENSSL_PKEY_GET_PRIVATE/从证书导出私匙;它们都只需要传入证书文件(一般是PEM文件);OPENSSL_PUBLIC_ENCRYPTSTRINGDATA,STRINGSIGNATURE_ALG为签名要使用的算法,其算法列表可以使用OPENSSL_GET_MD_METHODS得到,形如ARRAY0MD5,1SHA1,2SHA256,验签函数与签名函数相对,只不过它要传入与私匙对应的公匙;其结果为签名验证结果,1为成功,0为失败,1则表示错误;加密流程传输流程传输过程中RSA加密用户名和口令,MD5密钥加密用户名和口令和验证码,对比的时候是把传输的RSA解密加上验证码,再进行MD5验证JS加密代码VARPUBLIC_KEY“VARPUBLIC_LENGTH“0X10001“FUNCTIONDO_ENCRYPTVARRSANEWRSAKEYRSASETPUBLICPUBLIC_KEY,PUBLIC_LENGTHVARRESRSAENCRYPTUSERNAMEUSERNAMEVALVARRES_CAPIFCAPTCHAVALRES_CAPRSAENCRYPTCAPTCHAVALIFRESVARRESULTHEX2B64RESDATAVALRESULTCAPTCHA_HIDDENVALHEX2B64RES_CAPLOGINFORMSUBMITRETURNTRUE服务端生成一组公钥与私钥,将公钥发送给客户端进行密码加密,在使用密钥进行解密,相关代码RSAPHPCLASSRSA/OPENSSL生成秘钥时的E的值PUBLICRSAE/OPENSSL生成的MODULUS,十六进制数据PUBLICRSA_MODULESPUBLICFUNCTION_CONSTRUCTTHISRSAE0X10001THISRSA_MODULESBB3DC79A95B19C104EE49F592EBA635A3FA6CC6380F8CFF8D2A65E04724AE9C4ACB8E6CDA15B75BC5B94B21CBD6F433B7396E1B52D32F5B610453C49AFD7F39355086250695698B0281032DEADDCA3938AF8590DE6458FAD597DB1C3D9F53D5171968FCF2EE042D99B57414BF376793979A4951DEDBD80E84679EC5CDDAC3C65/PARAMDATA要加密的字符串PARAMPRIVATE_KEY公钥RETURNMIXED加密的结果/PUBLICFUNCTIONPUBLICDECRYPTDATA,PUBLIC_KEYPUBLIC_KEYFILE_GET_CONTENTSPUBLIC_KEYPUB_KEYOPENSSL_PKEY_GET_PUBLICPUBLIC_KEYOPENSSL_PUBLIC_ENCRYPTDATA,ENCRYPTED,PUB_KEYENCRYPTEDBASE64_ENCODEENCRYPTED/因为加密后是乱码,所以BASE64一下RETURNENCRYPTED/PARAMDATA要解密的字符串PARAMPRIVATE_KEY私钥RETURNMIXED解密的结果/PUBLICFUNCTIONPRIVATEDECRYPTDATA,PRIVATE_KEYENCRYPTEDBASE64_DECODEDATAPRIVATE_KEYFILE_GET_CONTENTSPRIVATE_KEYPI_KEYOPENSSL_PKEY_GET_PRIVATEPRIVATE_KEYOPENSSL_PRIVATE_DECRYPTENCRYPTED,DECRYPTED,PI_KEYRETURNDECRYPTED控制器实现THISLOADLIBRARYRSARSANEWRSACAPTCHAREQUEST_POSTCAPTCHADECRYPT_CAPRSAPRIVATEDECRYPTCAPTCHA,THIS_CONFIGRSA_PRIVATE_KEYIFSTRTOLOWERTHISSESSIONUSERDATACAPTCHASTRTOLOWERDECRYPT_CAPTHISMESSAGE验证码不正确,SITE_URLTHISSITECLASS/THISSITEMETHOD,2DECRYPT_DATARSAPRIVATEDECRYPTTHISINPUTPOSTDATA,TRUE,THIS_CONFIGRSA_PRIVATE_KEYIFDECRYPT_DATATHISSYSTEMLOG信息验证错误,请重新登录,0,4SENDMAIL_WINDOWSTHISDATAWEBSETADMIN_EMAIL,有管理员有登录异常操作,管理员登录时签名信息被篡改,请检查,登录时间DATEYMDHISTHISJUMP信息错误,请重新登录,SITE_URLADMINCP/LOGIN,2PARSE_STRDECRYPT_DATA,FORM_DATAUSERNAMETRIMFORM_DATAUSERNAMEPASSWORDTRI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论