python-简单JavaScript加密的破解

目标:作者在进行模拟登陆时候发现原来简单的密码返回值是却看不懂了,考虑到这种情况应该是进行了加密,这时候如何破解加密的代码尤为重要。
作者提交的密码是:

123456qq.com //仅仅是举例
104|122|51|49|53|56|49|51,//输出加密过后的密码

今天笔者分享是一个简单的登陆时候密码的加密,这里直接分享加密的js代码以及破解过程,如果你不会寻找js代码,那么你就去看我之前写的如何寻找加密函数,哈哈哈哈,上代码:

if($("#ispassChang").val() != "0"){
	pass=encodeSTR($("#password").val());
}

首先看到这个代码的时候我们就会想到首先是找到encodeSTR这个函数,寻找过程就不分享了直接上代码:

function encodeSTR(str) {  //str显然是密码传输过来
    var t = ""; // 声明一个空字符串
    for (var x = 0; x < str.length; x++) {  // 声明一个x=0, 如果 x< 密码的长度,执行下变的过程,x并加1
        a = str.charCodeAt(x); // 对循环的密码进行获取ascii值
        if (x != 0) {
            t += '|' // 如果变量x !=0 变量t+='|'
        }
        t += new Number(a).toString(10)  // 变量t+=str(a)
    }
    return t  // 最后返还的值便是加密过后的密码
}

看到没?上边的加密是如此的简单,只需要分析一下加密逻辑,通过python来实现即可。直接上代码

entry_password = ''
pass_word = '自己密码'
i = 0
for i in range(len(pass_word)):
    s = ord(pass_word[i])
    if i != 0:
        entry_password += '|'
    entry_password += str(s)
    i += 1
print entry_password  // 即为密码

好了分享结束了,是不是特别简单?哈哈哈 当然你也可以用笔者之前所写的 execjs 进行破解。可以看之前笔者所写的过程。

哈哈哈,分享一下吧:

# coding=utf-8
import requests
import execjs

infos = """
function encodeSTR(str) { 
    var t = ""; 
    for (var x = 0; x < str.length; x++) { 
        a = str.charCodeAt(x); 
        if (x != 0) {
            t += '|'
        }
        t += new Number(a).toString(10)  
    }
    return t  
}
"""
if __name__ == "__main__":
   import execjs
   r = execjs.compile(infos)
   result = r.call('encodeSTR','123456').lower() // encodeSTR加密的函数,‘123456’密码
   print result

分享结束咯,如有问题欢迎纠正。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值