Encryption 如何解密base64字符串

Encryption 如何解密base64字符串,encryption,base64,Encryption,Base64,我有一个黑盒程序,可以将给定的整数加密为base64字符串。我可以输入任何整数并得到输出。i、 e: 919771840 Nva4owsaPYFWJJQFpB+phQ== 919771850 D85pAYyVp7jBtw9yxW9YBQ== 919771860 clMLImNuPb47Xs5ZpHtixA== 919771870 JuUHKtvHWDx+Re8uVjGTiw== 919771880 bUh0gcJ

我有一个黑盒程序,可以将给定的整数加密为base64字符串。我可以输入任何整数并得到输出。i、 e:

919771840    Nva4owsaPYFWJJQFpB+phQ==       
919771850    D85pAYyVp7jBtw9yxW9YBQ==       
919771860    clMLImNuPb47Xs5ZpHtixA==       
919771870    JuUHKtvHWDx+Re8uVjGTiw==       
919771880   bUh0gcJBxKUevTZ8xdLwiQ==        
919771890    fEw9ATjAavzQed/6j3Emlw==       
919771900    9/5yxmhaW99QmussBkr35Q==       
919771910    t2XaLKggSC5lKxLGQSdhEQ==       
919771920    cddK8g7ecsYCjHoL7iN1CA==       
919771930    zubr6JlanKPYTYx3Un/GeQ==       
919771940   Y3nfRH0R7RGNDi9OkhKZFw==        
919771950   jObfRgOh+GgGcXQQrQeMqw==        
919771960   KYBsPfMrqFq9peCbsZIcQA==        
919771970   1agEgLiI7NDQItH4kkiDTw==        
919771980   jscdgP6xOi59mr0LKwA0IQ==        
919771990   KVjuZM661bDX4fPcBRMNDg==        

是否有任何方法可以将base64字符串,即Kr9ritjAjkHS9dVid262bw==解密回整数?我不知道它是如何使用加密密钥或方法的,因为它在一个黑盒程序中。我无法使用所有可能的整数输入运行它。有什么建议吗

Base64不是加密而是编码。没有键,每个输入只有一个可能的输出。它是完全可逆的,几乎每种语言都有一个公共库,可以为您编码和解码base64字符串

编辑


如果您的意思是程序使用某种真正的加密算法将整数加密为二进制数据,然后对该二进制数据进行base64编码,那么答案是您无法检索原始整数。如果不知道所使用的算法,就无法实现,更不用说密钥了

如果您使用的是python,那么可以按如下方式对其进行解码

import base64
encoded = base64.b64encode('data to be encoded')
data = base64.b64decode(encoded)

OP只讨论Base64,但这个问题不是Base64,而是整数的加密。正如您所见,尽管纯文本中只更改了一个数字,但示例编码的差异却超过了4个字节。添加了一节来说明您对问题的解释是的。我想解密解码后的base64字符串。这就是为什么我用“解密”这个词而不是“解码”。这里的问题不是编码,而是加密。我投票结束这个问题,因为不可能确定哪个算法产生了这个输出,因为密文和散列输出被认为是与随机噪声无法区分的,并且它们有无限多个。这个问题对未来的读者没有任何价值,我们也不是来这里玩游戏的。你需要首先确定加密算法。此外,还需要计算base64输入字符解码。使用在线解码器,这些解码器都不能解码为UTF-8字符串,但有一些其他解码器可以工作。总之,您的第一个任务是开始逆向工程!w/知道所使用的算法,是否可以对密钥进行反向工程?我知道一个事实,对于一个10位数的整数,只要前8位数字相同,前11个字符就相同:2010738350 GG1UBFAPPVxHshButd3NZGQ==2010738351 GG1UBFAPPVxBDTVZLRNTG==2010738352 GG1UBFAPPVx+4IzprPS9bQ==2010738353 GG1UBFAPPUJI2NSZPMTUA==2010738354 GG1UBFAPPVxRG8ZO7WCVW==2010738355 GG1UBFAPPUDKKXQ33BK0A==2010738356 GGAPLVxH7RK8RKQ==2010738357 GG1UBFAPPVWF3MKUADUKSQ==2010738358 GG1UBFAPPVUNUBXBIBGBGCG==2010738359 GG1UBFAPPVWKE0PYXKIADA==也许你可以,也许你不可以。不管怎样,这对于堆栈溢出来说都不是一个好问题。您发布的新数据表明,这不是非常安全的加密。对于少于8位整数,加密字符串是12字节:1325994 L2N3Fv/19Aw=1325995 ZP+nZEgPwGw=1325996 VKTG/28p87Q=顺便问一下,为什么这不适合堆栈溢出。这违反任何规则吗?