Android静态安全检测 -> Hash算法不安全
Hash算法不安全 -MessageDigest.getInstance方法1. API继承关系java.lang.Objectjava.security.MessageDigestSpijava.security.MessageDigest主要方法getInstance(S
·
Hash算法不安全 - MessageDigest.getInstance方法
一、API
1. 继承关系
【1】java.lang.Object
【2】java.security.MessageDigestSpi
【3】java.security.MessageDigest
2. 主要方法
【1】getInstance(String algorithm)
【2】getInstance(String algorithm, String provider)
【3】getInstance(String algorithm, Provider provider)
【4】其他方法
https://developer.android.com/reference/java/security/MessageDigest.html
3. 示例
【1】使用MD5哈希算法的语句
【2】Android提供的MessageDigest算法
【3】参考链接
http://hubingforever.blog.163.com/blog/static/171040579201210781650340/
二、触发条件
1. 调用MessageDigest类的getInstance方法
【1】对应到smali语句的特征
invoke-static {v1}, Ljava/security/MessageDigest;->
getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
2. 寄存器赋值的判断
const-string v1, "MD5"
const-string v1, "SHA-1"
三、漏洞原理
【1】使用不安全的Hash算法(MD5/SHA-1)加密信息,存在被破解的风险
【2】更多内容
http://www.droidsec.cn/android应用安全开发之浅谈加密算法的坑/
四、修复建议
【1】建议使用SHA-256等安全性更高的Hash算法
更多推荐
所有评论(0)