接口安全机制(DES和AES加密)

在对外发布服务接口的时候, 需要定制一套签名机制, 保证数据传递的有效性。

1 安全机制的设计方案

1.1 单向加密
在理论上, 从明文加密到密文后, 不可反向解密的。
可以从迭代和加盐的方式尽可能保证加密数据不可反向解密。
传递敏感数据的时候使用的。如: 密码。
在金融相关交易中, 用户密码是敏感数据, 其他数据是非敏感数据。所有的金融相关的应用中, 客户端都有一个独立的密码输入控件。这个控件就是做单向加密的。
使用单向加密的时候, 传递的数据只有密文, 没有明文, 也没有密钥。
1.2 双向加密
是可以实现加密和解密双向运算的算法。需要通过密钥实现加解密计算的。
密钥种类: 公钥、私钥。
公钥: 可以对外公开的, 就是可以在网络中传递的。
私钥: 必须保密的, 绝对不会对外暴露的。
在传递安全数据的时候使用。所谓安全数据, 就是不可篡改的数据。如: 金融交易中的收款人卡号, 转账的金额, 货币的种类等。
使用双向加密的时候, 传递的有明文, 密文, 公钥。
1.2.1 对称加密
只有一个密钥, 就是公钥。
1.2.2 非对称加密
有两个密钥, 公钥和私钥。

2 DES加密

DES的密文是非定长密文。根据明文数据和key数据动态伸缩的。

3 AES加密

AES的key要求长度为16。

4 使用场景

DES和AES在使用场景上没有区别。
传递非敏感的安全性数据可以使用。如: QQ通讯录获取, 微信中的消息传递。

5 对比

DES - 加密后的数据是16的整数倍。 是16字节整数倍。
AES - 要求key的长度必须是16字节。 AES相对效率较低, 但是可以通过偏移量强化加密。

猜你喜欢

转载自blog.csdn.net/sinat_33404263/article/details/106303832