最近项目中需要使用加密传输用户IMEI信息。因此对于加密解密做一次整理小结 加密方式可以分为对称加密、非对称加密 对称加密:指的就是加、解密使用的同是一串密钥,所以被称做对称加密。对称加密只有一个密钥作为私钥。 常见的对称加密算法:DES,AES等。 优点:对称加密相比非对称加密算法来说,加解密的效率要高得多、加密速度快。 缺点:对于密钥的管理和分发上比较困难,不是非常安全,密钥管理负担很重。 非对称加密:指的是加、解密使用不同的密钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。反之,私钥加密的信息,只有公钥才能解密。 举个例子,你向某公司服务器请求公钥,服务器将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人才能对你的消息解密。与对称加密不同的是,公司服务器不需要将私钥通过网络发送出去,因此安全性大大提高。 最常用的非对称加密算法:RSA 优点:安全性更高,公钥是公开的,密钥是自己保存的,不需要将私钥给别人。 缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。 总结一下吧:安全肯定是非对称加密安全,但是效率比较慢,对称加密效率高,但是不安全。严谨一点的做法是混合起来使用,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。实际工作中直接使用非对称加、解密其实也可以,因为我们平时一般请求的报文不会很大,加解密起来速度在可接受范围内,或者可以对敏感字段,比如密码、手机号、身份证号等进行分段加密,效率还可以。 接收方创建RSA秘钥对, 发送RSA公钥给发送方,自己保留RSA私钥 发送方创建AES密钥,加密待传送的明文,之后用RSA公钥加密该密钥, RSA公钥加密AES的密钥+AES密钥加密明文的密文----通过Internet发给---->接收方 接收方用RSA私钥解密加密的密钥,之后再用解密后的AES密钥解密数据密文,得到明文。
对称加密
非对称加密
支付宝扫码打赏
微信打赏