V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mx3y
V2EX  ›  算法

研究了几天,没发现这段密文的加密方式,有大神指点下吗

  •  
  •   mx3y · 2018-06-01 08:52:14 +08:00 · 4161 次点击
    这是一个创建于 2371 天前的主题,其中的信息可能已经有所发展或是发生改变。

    密文一:cfcfbd0fe9bffe30f4fd14e12305ef58

    密文二:7e2963add0b556e89b2a5c5e7be6cd9c

    密文三:5fc16f6f83c0b4e3f64310452a134cc6

    密文四:52c24d58d4c2cc39a783efdf43a6ee4f

    密文五:8f29d083754bcfacce0e5848de77a145

    24 条回复    2018-06-01 16:03:53 +08:00
    liuxey
        1
    liuxey  
       2018-06-01 08:58:51 +08:00
    这难道不是标准的 MD5 hash 吗?
    zn
        2
    zn  
       2018-06-01 08:58:55 +08:00 via iPhone   ❤️ 1
    你大概是对加密有什么误解。
    silhouette
        3
    silhouette  
       2018-06-01 09:04:05 +08:00 via Android
    这是哈希吧#滑稽
    TtiGeR
        4
    TtiGeR  
       2018-06-01 09:07:57 +08:00 via iPhone
    32 个字符 0-9 a-f 共 128 位

    高度疑似 SHA-1
    TtiGeR
        5
    TtiGeR  
       2018-06-01 09:09:22 +08:00 via iPhone
    想打 MD5 的 手指和大脑不搭

    SHA-1 是 160 位的 ( 40 个字符)
    mx3y
        6
    mx3y  
    OP
       2018-06-01 09:10:38 +08:00
    @liuxey @silhouette @zn 不是误解,是一窍不通啊。。
    662457 对应 cfcfbd0fe9bffe30f4fd14e12305ef58
    662271 对应 7e2963add0b556e89b2a5c5e7be6cd9c
    660360 对应 660360_5fc16f6f83c0b4e3f64310452a134cc6
    661948 对应 52c24d58d4c2cc39a783efdf43a6ee4f
    662365 对应 8f29d083754bcfacce0e5848de77a145
    我按这个套路怎么都解不出来。。
    nfroot
        7
    nfroot  
       2018-06-01 09:17:02 +08:00
    @mx3y 你这个是摘要算法,不是加密算法,所以不存在“解”。

    简单来说,你只知道答案是 1,却不知道是 5-4 还是 6-5 还是 2-1.

    只有加密算法,才存在解密。
    lululau
        8
    lululau  
       2018-06-01 09:18:04 +08:00 via iPhone
    md5/aha 摘要出来完全是一串 0-9a-z 的 ascii 这个太巧了吧,得 tohexstr 一下吧,说到 tohexstr,任意 16 个字节的数据 tohexstr 都是这个模样啊,楼上几位是不是对 16 进制有什么误解?还是对字符串有什么误解?
    nfroot
        9
    nfroot  
       2018-06-01 09:24:56 +08:00
    @mx3y 摘要算法就相当于 X-Y=1,X 和 Y 有无数种组合,形成最终的答案,所以只通过结果无法得出原本的内容。

    加密算法相当于 X-1=1,X 只存在一种可能,所以可以解密,可以还原。

    但是任何成熟的加密算法(特别是现在这么多成熟的算法,一般人没必要自己写),在不知道过程的情况下,解密根本无从谈起
    hand515
        10
    hand515  
       2018-06-01 09:26:58 +08:00   ❤️ 1
    感觉是加盐后的 md5
    nfroot
        11
    nfroot  
       2018-06-01 09:29:19 +08:00
    @lululau tohexstr 是我对你的回复有误解,还是你对 MD5(及同类算法)有误解?
    lululau
        12
    lululau  
       2018-06-01 09:31:10 +08:00
    @nfroot 是你对摘要有误解
    1024MB
        13
    1024MB  
       2018-06-01 09:31:19 +08:00 via Android
    md5
    liuxey
        14
    liuxey  
       2018-06-01 09:39:26 +08:00
    @mx3y 你解不出来是因为在 hash 的时候加了盐,比如 md5(fn(662457)) = cfcfbd0fe9bffe30f4fd14e12305ef58,除非你知道 fn 的处理逻辑,就能一一列举,当然就算你知道 fn 的处理逻辑,你也不可能反向解出来,只能正向求值,原因楼上说了
    nfroot
        15
    nfroot  
       2018-06-01 09:45:53 +08:00
    @lululau 能举例吗?因为我实在不怎么理解你的意思,我先举例吧

    MD5 算法处理字符串 123 得出
    202cb962ac59075b964b07152d234b70
    处理 1234 得出
    81dc9bdb52d04dc20036dbd8313ed055

    SHA1 算法处理字符串 123 得出
    40bd001563085fc35165329ea1ff5c5ecbdbbeef
    处理 1234 得出
    7110eda4d09e062aa5e4a390b0a572ac0d2c0220

    你说的 tohexstr 处理 123 后是不是得出 313233 ? 1234 是不是得出 31323334 ?
    aricch
        16
    aricch  
       2018-06-01 09:54:44 +08:00
    是桌面程序 就逆向吧,我们一般都这样处理,想黑盒破解,很少成功。
    lululau
        17
    lululau  
       2018-06-01 10:09:10 +08:00
    @nfroot 我说的是两个意思:

    1. 不是 16 进制字符串就一定是某种摘要结果,这是大写英文字母 A-P 共 16 个字母组成的 16 个字节大小的 ASCII 字符串,toHexString() 后的结果:echo "${$(echo -n "${$(echo {A..P})// /}" | od -An -tx1)// /}",如果你熟悉 MD5/SHA,知道他们的结果是有一定特征的,可以根据这些可能存在的特征断定这是某种摘要算法摘要后的结果;不然是怎么断定这就是某种摘要结果的呢?
    2. 摘要的结果一般是字节序列的形式,你看到 0-9a-f 是 toHexString() 后的结果,如果你纳闷自己并没有调名字类似 tohexstring 的方法 /函数,那么你调的方法 /函数很有可能是叫 hex_digest 之类的。。。
    nfroot
        18
    nfroot  
       2018-06-01 10:33:22 +08:00
    @lululau 我只认为是摘要算法,但是并没有认定是 MD5 或者某一种算法,毕竟加盐和伪装一下长度是很容易的事情。
    Shura
        19
    Shura  
       2018-06-01 11:02:35 +08:00
    hash(m + salt)而已。哈希算法不是加密算法,如果不考虑彩虹表,哈希算法理论上就是不可逆的。
    lance6716
        20
    lance6716  
       2018-06-01 12:38:40 +08:00 via Android
    感觉这几年 V 站用户水平下滑的很厉害…
    imn1
        21
    imn1  
       2018-06-01 12:46:26 +08:00
    已知部分 x,y,求 f(x)
    答案不是很明显么?无限解啊
    liuminghao233
        22
    liuminghao233  
       2018-06-01 12:50:20 +08:00 via iPhone
    jwjanznsjiwjquahansndjxiwjwj

    哪个大佬可以解一下密文

    我自己乱打的
    ryd994
        23
    ryd994  
       2018-06-01 15:44:04 +08:00 via Android
    理论上完美的加密算法输出的密文和纯随机数据无法分辨。也可以说,无论任何有特征的输入,都能达到无特征的输出,正是加密算法的目标。
    给你这么容易就看出特征,这些加密算法还怎么混?
    3dwelcome
        24
    3dwelcome  
       2018-06-01 16:03:53 +08:00
    以业内的 RSA 加密算法为例,里面可是加入随机函数的。也就是说,同样 ABC 加密,生产结果千千万,并不是唯一的。

    而对应的解密算法,可以把噪声给去掉,还原原来数据。这个噪声叫 random padding。

    所以楼主的那种给加密后值要还原的做法,是很不科学的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:32 · PVG 18:32 · LAX 02:32 · JFK 05:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.