数据传输加密
在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私信息时,开发者自然会想到对其进行加密传输,即使传输过程中被“有心人”截取,也不会将信息泄漏。对于加密算法,相信不少开发者也有所耳闻,比如MD5加密、BASE64加密,DES加密,AES加密,RSA加密等等。因为最近项目中使用到RSA,AES两种非对称与对称的加密算法,下面做一个总结记录。
有关加密算法
哈希算法:MD5、SHA-256;
对称加密算法:AES;
非对称加密算法:RSA。
其中,公钥和私钥是成对的,它们互相解密。公钥的字符串长度比较短,私钥的比较长。公钥加密,私钥解密;私钥签名,公钥验证。
公钥加密:不可被获取;
私钥签名:可被获取,但不可被篡改。
RSA
RSA加密算法,之所以叫RSA算法,是因为算法的三位发明者RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准,主要的算法原理就不加介绍,如果对此感兴趣的话,建议百度一下RSA算法。需要了解的是RSA算法属于非对称加密算法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥和私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有对应的公开密钥才能