安卓逆向 -- 算法基础(MD5)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 安卓逆向 -- 算法基础(MD5)

一、单向散列函数(消息摘要算法)


1、不管明文多长,散列后的密文定长


2、明文不一样,散列后结果一定不一样


3、散列后的密文不可逆


4、一般用于校验数据完整性、签名 sign


5、由于密文不可逆,所以后台无法还原,也就是说他要验证,会在后台以跟前台一样的方式去重新签名一遍。也就是说他会把源数据和签名后的值一起提交到后台。所以我们要保证在签名时候的数据和提交上去的源数据一致。这种算法特喜欢在内部加入时间戳,很多粗心的学员,通常会在签名的时候取一次时间戳,然后在提交源数据的时候,又取一次时间戳,导致后台验证失败。


6、常见算法


MD5


SHA1


SHA256


SHA512


HmacMD5


HmacSHA1


HmacSHA256


二、MD5算法


1、长度128个bit,32个十六进制字符、16个字节


2、Java版源码


String bs= "逆向有你a";
MessageDigest md=MessageDigest.getInstance("MD5");//我要用md5算法
md.update(bs.getBytes());//我要加密的数据
byte[] res = md.digest();//给我加密
System.out.println("MD5加密(字节):"+Arrays.toString(res));
System.out.println("MD5加密(字符串):"+bytes2HexString(res));
MessageDigest mdmd = MessageDigest.getInstance("MD5");
mdmd.update("逆向".getBytes(StandardCharsets.UTF_8));
mdmd.update("有你".getBytes(StandardCharsets.UTF_8));
byte[] mdmdres = mdmd.digest("a".getBytes(StandardCharsets.UTF_8));
System.out.println(bytes2HexString(mdmdres));
运行结果:
MD5加密(字节):[-71, 14, 97, 33, -121, -29, -25, 68, -80, 106, 94, 49, -21, -116, -13, 120]
MD5加密(字符串):B90E612187E3E744B06A5E31EB8CF378
B90E612187E3E744B06A5E31EB8CF378


3、JS版源码


var CryptoJS=module.exports;
function test()
{
    return CryptoJS.MD5("逆向有你a").toString();
}
console.log(test());

运行结果:


0a2653c851af460fa595bd959398a8f1.png


禁止非法,后果自负

目录
相关文章
|
7月前
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现
|
4月前
|
算法 数据安全/隐私保护 C++
超级好用的C++实用库之MD5信息摘要算法
超级好用的C++实用库之MD5信息摘要算法
105 0
|
5月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
185 1
|
5月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
103 2
|
5月前
|
JavaScript 算法 前端开发
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
672 1
|
5月前
|
算法 JavaScript 前端开发
消息摘要算法:MD5加密
消息摘要算法:MD5加密
70 1
|
6月前
|
算法 安全 Java
Java中MD5加密算法的原理与实现详解
Java中MD5加密算法的原理与实现详解
|
6月前
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现
|
7月前
|
存储 算法 安全
MD5哈希算法:原理、应用与安全性深入解析
MD5哈希算法:原理、应用与安全性深入解析
|
7月前
|
算法 安全 Java
技术笔记:MD5加密算法详解
技术笔记:MD5加密算法详解