Android中的加密技术
2015-07-03 15:59
155 查看
Android中支持四种加密技术,MD5,SHA,HMAC和AES,前三种是不可逆算法,最后一种是可逆的加密算法。
所谓不可逆加密,就是数据经过加密后不能还原成原来的数据。在一些情况下,加密后的数据并不需要还原,比如进行一些验证性的操作时,只需要比对加密后的数据是否一直进就可以,不可逆加密在验证性工作中经常用到。
MD5(信息摘要算法),经常用于文件检验、密码校验,不管多大的文件,经过MD%加密后,都会生成唯一的32位的MD5值,比如现在的ISO校验就是MD5校验。
SHA,(安全散列算法),它是数字签名等密码学应用中的重要工具,,虽然,SHA和MD5通过碰撞法都被破解了,但是仍然是公认的安全加密算法,比MD5更为安全。
HMAC,(散列消息鉴别码),原理是用公开的函数和秘钥产生一个固定长度的值作为认证标识,用这个表识鉴别信息的完整性。使用一个秘钥生成一个固定大小的数据块,即MAC,并将其加入到消息中,然后传输,接收方利用与发送方共享的秘钥进行鉴别认证。
AES是可逆的对称加密算法,其实Android中还有一种对称加密算法,那就是Base64(不能直接使用),Base64编码表是公开的,任何人都可以使用base64编码表对数据进行加密和解密,但是一般使用变换过顺序的base64编码表进行加密和解密,变换过顺序的base64编码表就相当于对称加密中的key。
所谓不可逆加密,就是数据经过加密后不能还原成原来的数据。在一些情况下,加密后的数据并不需要还原,比如进行一些验证性的操作时,只需要比对加密后的数据是否一直进就可以,不可逆加密在验证性工作中经常用到。
MD5(信息摘要算法),经常用于文件检验、密码校验,不管多大的文件,经过MD%加密后,都会生成唯一的32位的MD5值,比如现在的ISO校验就是MD5校验。
SHA,(安全散列算法),它是数字签名等密码学应用中的重要工具,,虽然,SHA和MD5通过碰撞法都被破解了,但是仍然是公认的安全加密算法,比MD5更为安全。
HMAC,(散列消息鉴别码),原理是用公开的函数和秘钥产生一个固定长度的值作为认证标识,用这个表识鉴别信息的完整性。使用一个秘钥生成一个固定大小的数据块,即MAC,并将其加入到消息中,然后传输,接收方利用与发送方共享的秘钥进行鉴别认证。
AES是可逆的对称加密算法,其实Android中还有一种对称加密算法,那就是Base64(不能直接使用),Base64编码表是公开的,任何人都可以使用base64编码表对数据进行加密和解密,但是一般使用变换过顺序的base64编码表进行加密和解密,变换过顺序的base64编码表就相当于对称加密中的key。
相关文章推荐
- Android开发(十一)——ImageView的尺寸设置scaleType
- Android开发(十)——像素单位dp、px、pt、sp的比较
- Android开发(九)——ViewFlipper实现图片轮播
- Android开发(八)——Android组件
- Android开发(六)——组件颜色Selector(Selector与Shape的基本用法 )
- Android repository 下载地址
- Viewpager实现图片轮播,广告轮播
- Android开发(五)——计时器
- Android开发(四)——Android中的颜色
- Android开发(三)——Android布局中实现圆角边框
- Android开发(二)——自定义圆形控件的使用CircleImageView
- Android开发(一)——全屏或者取消标题栏
- 【Android 开发教程】动态添加Fragments
- android自动登入
- Android5.0L中SensorService crash导致的systemserver重启问题分析
- PHP通过session id 实现session共享和登录验证-android开发非常重要
- android添加背景音乐
- Android背景音乐开关示例
- android菜鸟学习笔记13----Android控件(二) 自定义控件简单示例
- Android应用开发相关下载资源