这是什么样的散列加密?
我试着去找出什么样的哈希加密这是javascipt的:这是什么样的散列加密?
function L(j) {
var h = a.pbkey,
g = a.rndnb;
if (typeof f != "undefined") {
var e = f.PBK(h),
d = f.STBUNC(j),
i = f.STBA(g),
c = f.ENC(d, e, i),
b = f.BAT64(c);
return b
} else return ""
}
它哈希phonenumber.Ex:79645531974
pbkey:'e=010001;m=d06889ab9ea3c9ce9d2e92559d6b2f043ef873f0cc9f858745bc6784d1d9a98f8d354e061d25fad9c3a741c57626d0d65de01eb03584a5af1f579b9f9834a60b628756ad636ec1d3129e87e0c7274670d9ca615f12fe3424e9da362f7f8cce8dfe61d79f5ec68dffe1f3ddcf5e20e1bf07349ee6c747a59b09d6420d131899f93dfaeacd76d6a684cda8ac99e7f87e17507235a2b59b84f56d8a3d4ecdd8259b3c7d892758d69a48930b591e66cc6d88d20a3de9360be30c8a94084a2753c92e0cfd1c94868c90109cd176855bba96cd3e73f34442ddfd256da7f1d1e48fbf265ad2f2caeebe4990ca5638b90b6c3fafa8c015a09947e3f03defc51e231a2f2d'
rndnb:'7fc1cdfea47d0057bbb33176ce73a376f9319d4e221d84807d74ff2f859b510b9fd132e577ed207d96b1d11e57500bff93efe97842248bcbe39527592797b7e3a821110ae61c3da67c2773bcb634c53357fb230ef95297d20c37d256aa8bd75bea315f2d
结果:4LW/+zyiBBgDExOLPLafO9T/GG3guycSMK3uz16qFcXWgvo1KAF8VrbGrxAE91Mvk6qUDkX8c9ha7urDB41XDAhciBbj2VzE48WXjB/A6gI6n7qcTwkNTPT0Qly1EFRtTF44xTbPEld/OviYhD2OolumbtL42wtnyw1oh4/2v2SyAqARdGJizRhd1UFpWW+OUIcF3eyhKS1R+TDorsOoM/bJQzR6CTSyLysfPJL8ldjG0Ujevac7dT+WvaXFmP3qlsReMP/FSLjs7xixCAA/VrxIRUragoIOf2cptilop5zJNY26DO/iEhUUU7n8ANayrqthplS3v624XR24iM22bg==
代码建议它使用2048位RSA加密(公开模数17)和随机填充方案。
但只有这个代码是不可能解决整个事情。我们需要知道PBK()
,STBUNC()
,STBA()
, ENC()
, BAT64()
功能是做什么的,否则我们不能确定地说什么关于这里做了什么。
但是,输入参数给出了一些建议。参数暗示加密是基于“公钥”的,并使用指数e = 65537(常用的RSA公共指数)。那么很容易猜到m代表“模量”。我们可以处理RSA或一些对数群加密(例如ElGamal)。要获得更多信息,我们可以检查这个模数m
是否是一个质数,结果不是。所以对数组加密是表格,所以我们可能处理RSA。注意模数和输出每个都是2048位,所以这个检查。
但是我们没有完成。我们还有rndnb值,这可能意味着“随机数”。这表明加密不是教科书RSA(感谢上帝),但使用某种随机化。可能它会使用某种标准填充方案,如OAEP。
为了得到更多的细节,我们真的需要得到正在使用的函数的主体。
明确的是,代码是**可怕**,无意义的单个字母变量,神秘的函数名称。对'a'和'f'没有线索。这个概念是为其他开发人员编写代码来阅读和轻松理解,在这方面,代码是完全失败的。 – zaph
我认为它可能只是被缩小/加粗的代码。也许这更多的是逆向工程挑战? – dsprenkels