Android传输数据时MD5加密解密详解

本文详细介绍了Android在传输数据时如何使用MD5加密,包括其特点、加密算法的实现步骤,以及如何通过多次加密和加盐来提高破解难度。
摘要由CSDN通过智能技术生成

Android传输数据时MD5加密详解

MD5加密算法

一、特点

1. 长度固定:不管多长的字符串,加密后长度都是一样长。方便信息的统计和管理。

2. 易计算:字符串和文件加密的过程容易。开发者很容易理解和做出加密工具。

3. 抗修改:对原数据哪怕只有一个字节的修改,得到的MD5值都有很大区别

4. 不可逆:知道密文和加密方式,却无法反向计算出原密码。

注:

v md5加密无法找回密码,只能修改密码;

v 在使用过成中,对比密码是否正确,只能把密码md5加密后对照加密后的数据是否相同。

v 在使用过成中,也可以建立一个大型的数据库,把日常各个语句,通过MD5加密成密文,不断积累大量的句子,放在一个庞大的数据库里,就可以拿着密文去数据库查询密码。

二、MD5加密算法实现

1. 计算字符串MD5值

思路过程:

v str.getBytes():将字符串转化为字节数组。字符串中每个字符转换为对应的ASCII值作为字节数组中的一个元素。

v 将字节数组通过固定算法转换为16个元素的有符号哈希值字节数组

v 将哈希字节数组的每个元素通过0xff与运算转换为两位无符号16进制的字符串

v 将不足两位的无符号16进制的字符串前面加0

v 通过StringBuffer.append()或者StringBundle.append()将16个长度为2的无符号进制字符串合并为一个32位String类型的MD5码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值