A-A+
TX 天眼云镜 系统登录加密分析 Python3 rsaEncrypt Cipher_pkcs1_v1_5
【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
之前写过TX IOA 系统登录加密分析 Python3 RSA PKCS1_OAEP 其实分析方法差不多,但是加密方法不一样。
这次走的弯路还是比较少的,废话不多说,直接看图:
关键代码如下:
initializer: function() {
return ()=>{
let {user: e, password: t} = this.inputConfig;
if (!e.value.trim())
return e.isError = !0,
void this.reportError(!0, "请输入账号名");
if (!t.value.trim())
return t.isError = !0,
void this.reportError(!0, "请输入密码");
this.isLogining = !0;
const a = p.appContext.config
, r = (0,
d.default)().unix()
, n = a.publicKey[a.environment]
, s = f.encryptor.rsaEncrypt(t.value + r, n);
h.authService.login(e.value, s, r).then(e=>{
(0,
c.runInAction)(()=>{
e.data && e.success && p.appContext.redirector.toBase(),
e.errorCode && !e.success && this.reportError(!0, e.errorDesc),
this.isLogining = !1
}
)
}
, ()=>{
(0,
c.runInAction)(()=>{
this.isLogining = !1
}
)
}
)
}
}
这里面,最关键的代码就是s = f.encryptor.rsaEncrypt(t.value + r, n);
我们仔细分析一下这句话,首先t.value就是我输入的密码,后面的r就是(0,d.default)().unix()
通过控制台就会发现,其实这是获取当前时间戳。然后密码加上时间戳。如下图:
它是把两个值放一起,然后进行rsa加密的。当然仔细看,这个加密函数里面除了这个还要传进去一个n,这个n就是n = a.publicKey[a.environment]
表面的意思就很明显了,就是公钥KEY,我们看一下。
现在加密需要传入的参数我们都有了,那么下一步就是看一下它rsa的具体加密方式。跟进这个函数里面,
这里设置了ras的默认加密配置。那我们直接用python 按上面的规则写一个最基础的rsa的加密方式即可,完整代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ##RSA加密 def rsa_encrypt_password(): """ rsa加密 """ from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 denglu_time = int(time.time()) message = "123456{}".format(denglu_time) #密码加时间戳 rsa_key = b"""-----BEGIN PUBLIC KEY----- #公钥 MIGfMA0GCSqGxxxxxxxxxxxxxxxxxxxxxxxxxxxSvd6yxhboGZREYMhMasRSC+Ac coc8cnqvkABb31wHxBbLbmORR0siQN0iiwl7HHk8O2CMi5RbsYMjU+2nF01iZHn1 EkNIAHwfOgZB0FkHwdgMJT5qw6/+BWewMy4tVYER1X54me8zkEuAYexrkmNjtBnX RY3oaO3lriD1qcSFdQIDAQAB -----END PUBLIC KEY-----""" rsakey = RSA.importKey(rsa_key) cipher = Cipher_pkcs1_v1_5.new(rsakey) # 创建用于执行pkcs1_v1_5加密或解密的密码 cipher_text = base64.b64encode(cipher.encrypt(message.encode('utf-8'))) return cipher_text, denglu_time |
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏