网络请求数据加密,验签处理方案

简单了解一下:加密的方法都有那些:

md5,AES,RSA,BASE64

1.MD5

MD5全名Message-Digest Algorithm 5(信息-摘要算法)是一种不可逆的加密算法。

MD5算法具有以下特点:

  1. 压缩性:任意长度的数据,算出的MD5值长度都是固定的。
  2. 容易计算:从原数据计算出MD5值很容易。
  3. 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
  4. 强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

2.AES

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

3.RSA

之所以叫RSA算法,是因为算法的三位发明者RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。

需要了解的是RSA算法属于非对称加密算法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。

公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

简单的说是“公钥加密,私钥解密;私钥加密,公钥解密”。


数据加密方案:

方案一:

数据验签方案:

方案一:

说明:md5,AES,RSA工具类,及使用方法。在gitlab中的项目模块中。参考博客博客中,也都有。


参考博客:

[置顶] 数据传输加密——非对称加密算法RSA+对称算法AES(适用于java,android和Web)

使用RSA、MD5对参数生成签名与验签

你可能感兴趣的:(【android】)