我有一个"黑盒子"可以将给定整数加密为base64字符串的程序。我可以输入任何整数并获得输出。即:
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==
)解密回整数?我不知道它是如何加密的(密钥或使用的方法),因为它是在黑盒子程序中。我无法使用所有可能的整数输入运行它。有什么建议吗?
答案 0 :(得分:1)
Base64不是加密而是编码。没有键,每个输入只有一个可能的输出。它是完全可逆的,几乎每种语言都有一个公共库,可以为您编码和解码base64字符串。
修改强>
如果你的意思是程序使用一些真正的加密算法来加密整数到二进制数据然后base64编码那个二进制数据,那么答案就是你无法检索原始整数。它不能在不知道所使用的算法的情况下完成,更不用说密钥了。
答案 1 :(得分:-2)
如果你正在使用python,那么它可以解码如下。
import base64
encoded = base64.b64encode('data to be encoded')
data = base64.b64decode(encoded)