java - MD5 哈希 Java 测验
问题描述
这个问题是我参加的一个测验的一部分。
问:通过哈希函数推送字符串很容易。往前走,往后走怎么样?这可能需要更多的力量。甚至可能是蛮力?下一个密码由三个字符组成 [az,AZ,0-9]。密码的 md5-hash 以 19acf8371f 开头。
import java.math.BigInteger;
import java.security.MessageDigest;
public class Festo {
public static void main(String[] args) throws Exception {
String number = "0123456789";
int count = 1;
MessageDigest md = MessageDigest.getInstance("MD5");
for (int j = 65; j < 65 + 26; j++) {
char val = (char) j;
for (int k = 97; k < 97 + 26; k++) {
char val1 = (char) k;
for (int i = 0; i < number.length(); i++) {
String input = val1 + "" + val + i;
byte[] messageDigest = md.digest(input.getBytes());
BigInteger no = new BigInteger(1, messageDigest);
String hashtext = no.toString(16);
while (hashtext.length() < 32) {
hashtext = "0" + hashtext;
}
System.out.println(input + " " + hashtext + " " + count++);
}
}
}
}
}
此输出中未找到此哈希 (19acf8371f)。谁能指出这段代码有什么问题?
解决方案
推荐阅读
- python - Django urlpatterns 设置
- sql - 在 Laravel/SQLite 中,一种“日期”数据类型相对于另一种数据类型有什么好处?
- ruby-on-rails - 尝试推送到 heroku 时 Devise.secret_key 未设置错误
- swift - Swift:将 { $0.property } 作为闭包传递
- c - 无法在将指针作为参数的函数中引用来自主方法的指针
- css - 带有 :not 的 CSS 类通配符
- microsoft-graph-api - 无法通过图表判断租户是否启用了 Teams
- constraint-programming - MiniZinc:获取一组超集数组
- javascript - 无法弄清楚“未定义”错误谷歌地图距离服务背后的逻辑
- python - 手动生成的 JSON 有效,但通过 json.dumps 创建的 JSON 不起作用,即使输出看起来完全相同