android加密算法都有哪些
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android加密算法都有哪些相关的知识,希望对你有一定的参考价值。
android中用的到加密:
Https编程 :应该是使用带安全的网络协议处理。除非你本地需要加密
2.数据签名:混淆代码和防二次打包的APK加密技术
3.对称加密:可以先将数据通过某种加密方式加密发送到服务器端,然后服务器端再解密 ,项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密
4.非对称加密====支付宝
数字摘要是指通过算法将长数据变为短数据,通常用来标识数据的唯一性,是否被修改,常用的加密算法有md5和sha1两种,如android的App签名也是用的这两种算法。
由于以上两种生成数字摘要的算法都是不可逆的,对于可逆的加密算法中,按照密钥的数量和加密规则一半分为对称加密和非对称加密两类:
对称加密:
密钥可以自己指定,只有一把密钥,如果密钥泄漏数据就会暴漏;
常用的对称加密算法有DES和AES两种;
特点是加密速度快,但是缺点是安全性低,因为只要密钥暴漏,数据就可以被解密。
非对称加密的特点:
常见的非对称加密算法是RSA;
他有两把密钥,且是由程序生成的,不能自己指定;
特点是加密速度比较慢,但是安全性比较高;
加密和解密的规则是:公钥加密只能私钥解密,私钥加密只能公钥解密;
参考技术A 算法 是部分平台的 主要还是 对称加密 和非对称加密SSL 证书的算法都有哪些?
为了考虑浏览器兼容性,通常使用以下算法:加密算法:RSA
哈希签名算法:SHA256
加密位数:2048
最近ECC算法也比较普遍,主要有优点读取速度快了,但相反浏览器支持率降低了,首先IE7、IE6是肯定不支持的,甚至IE8也不支持。 参考技术A 目前SSL证书的加密算法主要有以下四种:
常用的对称加密算法如下:
算法 优势 劣势
AES-128-GCM 支持 MAC 功能 实现复杂,较 CBC 运行速度慢
AES-128-CBC 实现简单,运行速度快 不支持 MAC 功能
RC4 实现简单,运行速度快 安全性低,已被验证不安全
ChaCha20-Poly1305 针对移动端开发,运行速度快 推出时间较短
AES-GCM 是目前常用的分组加密算法,但是其有一个缺点就是计算量大,导致性能和电量开销比较大。为了解决这个问题,Intel 推出了名为 AES NI(Advanced Encryption Standard new instructions)的 x86 指令拓展集,从硬件上提供对 AES 的支持。对于支持 AES NI 指令的设备来说,使用 AES-GCM 无疑是最佳选择。
而针对移动端,谷歌开发的ChaCha20-Poly1305是最好的选择。
Chacha20-Poly1305 是由 Google 专门针对移动端 CPU 优化而采用的一种新式流式加密算法,它的性能相比普通算法要提高 3 倍,在 CPU 为精简指令集的 ARM 平台上尤为显著(ARM v8 前效果较明显)。其中 Chacha20 是指对称加密算法,Poly1305 是指身份认证算法。使用该算法,可减少加密解密所产生的数据量进而可以改善用户体验,减少等待时间,节省电池寿命等。
由于其算法精简、安全性强、兼容性强等特点,目前 Google致力于全面将其在移动端推广。
目前又拍云提供 SSL 证书的申购、管理、部署等功能。与国际顶级 CA 机构合作,证书类型丰富,操作流程简单方便,为用户提供一站式 HTTPS 安全解决方案。免费版 SSL 证书 1小时内,付费版OV、EV SSL证书 3 天内即可完成申购签发。并且一键完成 SSL 证书部署,即时开启全站HTTPS服务开启。本回答被提问者采纳 参考技术B
根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
常见的非对称加密算法如下:
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
参考技术C常见的数字签名算法主要有RSA、DSA、ECDSA三种。
RSA数字签名算法:RSA是目前计算机密码学中经典的算法。也是目前使用最广泛的数字签名算法;
DSA全称Digital Signature Algorithm,DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,所以它比RSA要快很多,其安全性与RSA相比差不多。
ECDSA:ECDSA是用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。而ECC(全称Elliptic Curves Cryptography)是一种椭圆曲线密码编码学。
以上是关于android加密算法都有哪些的主要内容,如果未能解决你的问题,请参考以下文章