您的位置:首页 > 移动开发 > Android开发

Android AES DES RSA 加密解密 解析

2016-07-10 12:26 525 查看
下面在补充一下加密的支持

1.对称加密:只有一把密钥,如果密钥暴露,文件就会暴露。

*des和aes加密两种 这是两种加密标准

特点是:加密速度快,可以加密比较大的文件

2.非对称加密(这里的对称指的是发送方和接收方,一把要是当然共有对称,两把钥匙分开,即不对称)

RSA(支付宝所使用的加密方法)加密速度比较慢,但是安全系数比较高

密钥对是有程序生成的不能我们自己定义

AES DES 类在JAVA中是存在,他的静态方法就是加密和解密。定义内容后,定义密码即可使用。

注:des不支持短密码而aes只要密码不为空都可识别。

RSA解析:也就是支付宝使用的加密算法

加密/解密:公钥加密–>私钥解密

加密/解密:私钥加密–>公钥解密

数字签名:确定数据来源的不可否认性,确定所属关系—》其实就是privatekey在哪里

数字签名最重要的是只能使用私钥进行签名

公钥互换:两个人,两个结构,就是说两个密钥对的持有者相互的置换公钥。

公钥互换之后可以完成很多工作,这也是RSA的优势和重要的方法。

特点:私钥长自己保存,公钥短,给对方。

下面进行一个典型的应用场景

B向A借钱

B:A你借我1W块吧 这是A就向B要欠条(需要确定借条的不可抵赖性B用自己的私钥进行签名)

A:同学在接收欠条的时候用公钥进行解析,如果知道是B的欠条那么进行借钱。

其实这个过程和加密解密差不多,只不过传送的数据是只能用私钥加密,公钥解密。

说几个常用的场景, 方便大家记忆和描述

1.DES Data Encryption Standard 数据加密标准

2.AES Advanced Encryption Standard 先进的数据加密标准

从字面意思上就可看出AES是DES的升级版更好的性能更快的速度!

3.只要是对称加密,只要一方泄漏了密钥,那么就失去了对明文的保护,只要知道密钥方都可以对密文进行破译。这时候对称加密的安全性在概率上来说比非对称降低50%

4.非对称是主要的数据加密方式,更为安全,使用场景更为丰富,在典型的商业案例,涉及到数据不可抵赖性上都有很好的表现。如下。

当A把自己的公钥给了几个人时在接收信息的时候A就无法确定这条信息是哪个公钥持有方发出。这就会造成麻烦,比如,有人冒充B给A发送了段错误信息,A用自己的私钥打开,得到了错误信息,进而产生了问题!

那么如何避免那,那就是在B给A发送之前,A用B的公钥加密一段信息,让B用私钥解密,若B可以解密则代表接收方是B,这时候A可以安心的接收B发来的信息。

在一个就是B向A许诺了一样事情,但是口头承诺可不行,需要进行例如按手印这样的,确定这件事是B认可的并且无法抵赖的,那么就需要B用自己的私钥对自己向A进行的许诺进行签名,这样在A用B的公钥进行解密的时候,发先数据无误就形成了一种无法抵赖的数字签名关系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: