【发布时间】:2018-12-09 04:50:59
【问题描述】:
我正在查看包含电子邮件、用户名、散列密码、盐和 IP 地址的原始 sql 数据库。我试图只提取哈希和盐。这是一个例子:
user@email.com:username:b30805e05c07782d3901bf8814c8cb9d:2WPe'KKYUti3ts2E>$np,:11.22.33.44
user2@email.com:username2:969b9be2f311ac32b7f5c475b115fae6:<t%a!>[4?:OqGHvYWYdZ0:44.33.22.11
user3@email.com:username3:550854338c55ef110fdc599806f087e6:;yzkeZ/FgCMqM:8&Z!S0r:12.34.56.78
user4@email.com:username4:a5477d971ff85fd4052cd745677e6751:&PmDLnlh{fW[&KULDpYz@:87.65.43.21
我曾考虑在冒号 (:) 处分隔每个部分,并删除最后一个冒号右侧的所有内容,但冒号是盐的一半。所以一行中冒号的数量并不一致。我完全被难住了。有人请帮忙。
【问题讨论】:
-
所以你知道你的盐在最后一个
:和第二个:之间,你的哈希值在第一个:和第二个:之间——基于这个你可以应用前瞻并向后构造一个将获取它的正则表达式。如果需要,regexpal.com 等许多工具都会派上用场。
标签: regex database bash sed command-line