Android开发-对称加密和非对称加密

本文详细介绍了对称加密与非对称加密的基本概念、工作原理及应用场景,并对比了两者之间的主要区别。此外还深入探讨了MD5算法的工作原理及其在文件完整性和数据校验方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料:
对称加密和非对称加密
MD5加密算法
MD5原理

对称加码和非对称加密

对称加密
对称加密是指:加密和解密使用同一个秘钥,所以叫对称加密,对称加密只有一个秘钥作为私钥
常见的对称加密算法有:DES,AES

非对称加密
非对称加密是指:加密和解密使用不同的密钥,一把作为公开的公钥,一把作为私钥,公钥加密的信息只有私钥才能解密,私钥加密的信息只有公钥才能解密
常见的非对称加密算法有:RSA

区别
对称加密相对于非对称加密,加解密的效率会高跟多,缺点在于密钥的管理上,以及在非安全通道中通讯时,密钥交换的安全不能得到保证,所以在实际网络中,会将两个混合使用
例如针对C/S模型:
1.服务器端计算出一对密钥pub/pri,将公钥公开,私钥保密
2.客户端请求服务器时,拿到服务端的公钥
3.客户端通过对称加密算法得出一个对称加密的密钥X,然后用pub将X进行加密
4.客户端将加密后的密文发送给服务器,服务器通过私钥解密得到密钥X
5.然后两端就通过对称加密算法,进行加解密

RSA原理
https://blog.csdn.net/u014079662/article/details/61169607


MD5

简介
MD5:MessageDigestAlgorithm 5(信息摘要算法),是一种将字符串经过一系列计算处理之后,得到一个32位的16进制串,比如(ADAF1231A1B4AF12ADAF1231A1B4AF12),通常下载文件时,可以使用MD5校验,检查文件是否被修改过了
原理
MD5会首先将字符串转换成二进制,然后对这些二进制进行一系列非线性运算和移位操作,最终得出一个32位的16进制串
特点

  • 不同的字符串可能得到相同的MD串
  • 不可能,只有MD5串不能得到源文件,因为MD5计算过程中有移位和非线性转换,作为逆推代价很大
  • 比般情况,不管是大文件还是小文件,只要更改里面的一个字符串,MD5都会改变,因为在MD5的生成过程中每一个二进制位,都会参与计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值