-1

我创建了一个 Perl 脚本,它会在用户输入哈希值后使用在线网站来破解 MD5 哈希值。我部分成功,因为我能够从网站获得响应,但我需要解析 HTML 并以明文形式向用户显示哈希和相应的密码。以下是我现在得到的输出片段:

<strong>21232f297a57a5a743894a0e4a801fc3</strong>: admin</p>

使用 regex buddy,我能够使用以下表达式[a-z0-9]{32}单独匹配哈希部分。我需要以下格式的最终​​输出:

21232f297a57a5a743894a0e4a801fc3: admin

任何帮助,将不胜感激。谢谢!

4

3 回答 3

2

我认为您最好使用HTML::Parser来简单/可靠地解析该 HTML。否则,您将陷入使用正则表达式解析 HTML 的噩梦,并且您会发现它无法可靠地工作。

于 2014-02-20T13:21:07.063 回答
1

CPAN 上有一些工具可以为您处理获取和解析页面。其中之一是Web::Scraper。告诉它要获取的页面以及您想要的节点(在 xpath 或 CSS 语法中),它会为您获取它们。我不会举例,因为我不知道你的网址。

stas 在 blogs.perl.org 上有一篇很好的关于此的博文,它使用了一个不同的模块,它也可能会有所帮助。

于 2014-02-20T13:27:54.240 回答
0

这里是:

$str = q{<strong>21232f297a57a5a743894a0e4a801fc3</strong>: admin</p>};
@arr = $str =~ m{<strong>(.+)</strong>(.+)</p>};
print(join("", @arr), "\n");
于 2014-02-20T15:54:43.020 回答