V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
SharkIng
V2EX  ›  问与答

Linux 下什么命令可以解密一个 SHA1 加密的文字

  •  
  •   SharkIng · 2014-03-18 08:37:08 +08:00 · 6075 次点击
    这是一个创建于 3905 天前的主题,其中的信息可能已经有所发展或是发生改变。
    19 条回复    2014-11-03 11:30:03 +08:00
    yangqi
        1
    yangqi  
       2014-03-18 08:38:45 +08:00
    sha1是不可逆的,和md5一样, 你想怎样?
    SharkIng
        2
    SharkIng  
    OP
       2014-03-18 08:45:20 +08:00
    @yangqi 看到一个网站上面把QQ群号码给SHA1加密了,不过我已经在一个国外的网站上找到解密后结果了。

    很奇怪为什么不可逆的可是可以在一些国外的数据库里面找到答案呢??MD5也是一样有些地方可以找到
    yangqi
        3
    yangqi  
       2014-03-18 08:48:39 +08:00   ❤️ 1
    @SharkIng 那些都是通过比对的, 相同内容加密结果是相同的. 所以简单的字符串还是数字什么的很容易就能破解出来
    jasontse
        4
    jasontse  
       2014-03-18 08:50:49 +08:00 via iPad
    @SharkIng 彩虹表
    yangqi
        5
    yangqi  
       2014-03-18 08:54:00 +08:00
    meta
        6
    meta  
       2014-03-18 08:59:48 +08:00
    qq群号码全是数字吧,暴力猜不就可以了。
    SharkIng
        7
    SharkIng  
    OP
       2014-03-18 09:24:40 +08:00
    @yangqi 好吧,想的有办法在Linux下来处理呢
    就是用的你给我的这个网站得到结果的
    wodemyworld
        8
    wodemyworld  
       2014-03-18 09:35:26 +08:00
    @SharkIng 穷举
    sethverlo
        9
    sethverlo  
       2014-03-18 10:09:25 +08:00
    楼主在问这个问题之前有没有搞清楚 SHA1 是什么东西?

    如果没有建议你去看看维基;
    如果有的话那你就要反省一下为什么还会问出这样的问题…
    SharkIng
        10
    SharkIng  
    OP
       2014-03-18 10:40:21 +08:00
    @sethverlo 我的理解也许不正确,但是在我看来能加密就能解密,否则那些各种情报机构破解各种各样的密码、密文什么的是怎么做的?

    网上有人说过 微软有牛人说过每种算法都有相应的破解方法。只不过时间长短、难易不一样而已。

    既然那个人搞QQ就不可能说完全不让人家知道,既然采用了SHA1加密的办法,那么我觉得肯定有办法得到加密前的原先QQ
    yangqi
        11
    yangqi  
       2014-03-18 10:41:53 +08:00   ❤️ 1
    @SharkIng 解密和破解不是一个概念...不要混淆了
    Livid
        12
    Livid  
    MOD
       2014-03-18 10:42:58 +08:00 via iPhone   ❤️ 1
    如果你确定原文只是一串长度有限的数字,那么有很多 GPU based 的工具是可以帮你从 SHA1 还原到原文的。
    SharkIng
        13
    SharkIng  
    OP
       2014-03-18 10:46:38 +08:00
    @Livid
    @yangqi 谢谢
    binux
        14
    binux  
       2014-03-18 10:54:03 +08:00
    @SharkIng SHA1是hash算法,什么解密、破解都和它没关系,你自己从摘要里面脑补出一篇文章就说它是原文,那也不过是亿万种可能中的一种罢了;即使它是最有可能的一个,也不过是你一厢情愿。
    sethverlo
        15
    sethverlo  
       2014-03-18 10:55:33 +08:00   ❤️ 1
    @SharkIng 简单说说…我也是新手…

    加密有两种,一种可逆,一种不可逆。

    可逆的比如说 base64,下面是 python 代码:

    >>> print base64.b64encode("Hello")
    SGVsbG8=

    >>> print base64.b64encode("Hellooooooooooooooooooooo")
    SGVsbG9vb29vb29vb29vb29vb29vb29vbw==

    看到了么?密文会随着原文的变长而变长。

    而 MD5,不知道你有没有见过,我随便生成几串:

    123
    -> 202cb962ac59075b964b07152d234b70

    1234567890
    -> e807f1fcf82d132f9bb018ca6738a19f

    100 个 1 重复
    -> 283260c404749b6abe47ea9c0be54c4c

    不管你原文多长,密文都是一样的。

    32 位的字符能存储多少信息?自己想想…

    所以…可行性只有,不断生成明文,加密,和密文对比…楼上几位说的都是这个方法…
    hncqp
        16
    hncqp  
       2014-03-18 11:15:38 +08:00
    sha1是跟md5一样都是消息摘要算法是不可逆的。根本就不存在所谓的‘破解’,现有的工具说白的都是穷举。
    对于qq号这种有限的集合你完全可以跑一遍。
    otakustay
        17
    otakustay  
       2014-03-18 11:16:47 +08:00   ❤️ 1
    @sethverlo 不可逆的那不叫加密,一般叫摘要或者签名
    Sdhjt
        18
    Sdhjt  
       2014-03-18 16:41:34 +08:00
    @otakustay 或者叫指纹
    lingxi27
        19
    lingxi27  
       2014-11-03 11:30:03 +08:00
    概念性错误,SHA1这类严格来说叫摘要而不是加密,做完这类操作信息已经损失掉了

    所谓的‘破解’,就是猜一个原始信息,对这个原始信息做SHA1能得到相同的摘要

    但是符合这个要求的原始信息有很多个,你无法判断得到的这个是否是正确的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.