---------------------------------------------------------------------------------------------------------------
为什么会了解加密的这些东西呢?说来很囧的…………
异想天开的想开发一个微信自动加好友软件,卖给微商们,自己也赚点小钱。。。然后就开始搞吧,最先想到的当然是抓取报文咯。结果发现抓来的是乱码!
无知的我还想通过utraldit编辑器等一些功能来转为正常可读的呢!后来几经查阅资料,得知这是加密后的数据,不解密是无法获取有效信息的。
现在就简单说一下微信中的加密及协议的相关东东吧!
通信协议:微信的通信协议比较简单,登陆的时候可能由于有密码或者登陆本身的重要性,采用了SSL加密传输,其余的聊天、朋友圈、搜好友等等都是采用的HTTP协议;
加密方式:如今微信的用户群已经做到如此庞大,并且涉及到安全支付等重要信息,加密工作自然得做的非常好;据查阅资料得知大概是这样的:客户端要发送的消息,首先采用AES加密,在此基础上再采用RAS加密;这样的话,只有先破解RAS加密,再破解AES加密,才能获取有效信息;由于本人之前对加密等知识一无所知,所以就学习这些加密的东西咯;
-------------不过话说回来,据我推测,自动加好友软件应该不需要完全破解微信的加密协议,因为破解难度实在是太大,几乎不可能做到;那么微信自动加好友软件到底是真没实现的呢?后续继续研究
OK,言归正传,说一说加密算法吧!
加密协议
加密算法说白了就是数学算法,简单点来说就理解为一个函数吧,将一个数据经过某种复杂处理,映射为另一个数据;这就是加密。加密的关键不是在于加密算法与解密算法本身的编写有多大难度,而是在某些未知条件下,去进行解密的难度;难度越大,则越可靠,当然这也与未知条件的可获取性或者说是隐蔽性有关;
下面就概述一下常见的加密算法。