{"id":15030316,"url":"https://github.com/bytebuff/jspider","last_synced_at":"2025-04-12T17:44:11.596Z","repository":{"id":45812910,"uuid":"200042836","full_name":"bytebuff/JSpider","owner":"bytebuff","description":"JSpider会每周更新至少一个网站的JS解密方式，欢迎 Star，交流微信：13298307816","archived":false,"fork":false,"pushed_at":"2022-06-22T01:26:01.000Z","size":590,"stargazers_count":1091,"open_issues_count":11,"forks_count":240,"subscribers_count":58,"default_branch":"master","last_synced_at":"2025-04-03T19:16:23.899Z","etag":null,"topics":["javascript","nodejs","python3","scrapy","spider"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytebuff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-01T12:03:19.000Z","updated_at":"2025-03-24T16:03:14.000Z","dependencies_parsed_at":"2022-07-19T02:04:21.503Z","dependency_job_id":null,"html_url":"https://github.com/bytebuff/JSpider","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytebuff%2FJSpider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytebuff%2FJSpider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytebuff%2FJSpider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytebuff%2FJSpider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytebuff","download_url":"https://codeload.github.com/bytebuff/JSpider/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248609285,"owners_count":21132883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nodejs","python3","scrapy","spider"],"created_at":"2024-09-24T20:13:05.029Z","updated_at":"2025-04-12T17:44:11.569Z","avatar_url":"https://github.com/bytebuff.png","language":"JavaScript","readme":"# JSpider\n\n# 此项目暂停维护更新！！\n\n## 联系\u0026交流\n\n- 微信：scrapingdance\n- 邮箱：scrapy@qq.com\n\n## 关于\n\nJSpider 的含义是 JavaScript 与 Spider，JSpider每周会更新至少一个网站的JS解密方式。并且把解密的JS文件分享出来，该JS文件可以直接使用Python模块pyexecjs调用执行。分享的文件包括JS源码和Python程序。\n\n- **欢迎 Star**\n\n## 解密方法\n\n### 对称性加密解密\n\n- DES\n\n**DES** 是对称性加密里面常见一种，全称为Data Encryption Standard，即数据加密标准，是一种使用密钥加密的块算法。密钥长度是64位(bit)，超过位数密钥被忽略。所谓对称性加密，加密和解密密钥相同。对称性加密一般会按照固定长度，把待加密字符串分成块。不足一整块或者刚好最后有特殊填充字符。往往跨语言做DES加密解密，经常会出现问题。往往是填充方式不对、或者编码不一致、或者选择加密解密模式(ECB,CBC,CTR,OFB,CFB,NCFB,NOFB)没有对应上造成。\n\n常见的填充模式有： 'pkcs5','pkcs7','iso10126','ansix923','zero' 类型，包括DES-ECB,DES-CBC,DES-CTR,DES-OFB,DES-CFB。\n\n- 3DES\n\n**3DES**（又叫Triple DES）是三重数据加密算法（TDEA，Triple Data Encryption Algorithm）块密码的通称。它相当于是对每个数据块应用三次DES加密算法。密钥长度是128位，192位(bit)，如果密码位数少于等于64位，加密结果与DES相同。原版DES容易被破解，新的3DES出现，增加了加密安全性,避免被暴力破解。它同样是对称性加密，同样涉及到加密编码方式，及填充方式。包括3DES-ECB,3DES-CBC,3DES-CTR,3DES-OFB,3DES-CFB\n\n- AES\n\n**AES**,高级加密标准（英语：Advanced Encryption Standard，缩写：AES），在密码学中又称Rijndael加密法，是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES，已经被多方分析且广为全世界所使用。严格地说，AES和Rijndael加密法并不完全一样（虽然在实际应用中二者可以互换），因为Rijndael加密法可以支持更大范围的区块和密钥长度：AES的区块长度固定为128 比特，密钥长度则可以是128，192或256比特；而Rijndael使用的密钥和区块长度可以是32位的整数倍，以128位为下限，256比特为上限。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB\n\n- RC2\n\n**RC2**（也称为ARC2）是一种对称密钥块加密由Ron Rivest在1987年“RC”旨在表示“Ron的代码”或“的Rivest密码”;由Rivest设计的其他密码包括RC4，RC5，RC6。包括RC2-ECB,RC2-CBC,RC2-CTR,RC2-OFB,RC2-CFB ,它可作为DES算法的建议替代算法,RC2加密算法的执行可比DES算法快两倍。\n\n- RC4\n\n**RC4**,RC4加密算法是RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。该算法的速度可以达到DES加密的10倍左右，且具有很高级别的非线性。1994年9月，它的算法被发布在互联网上。由于RC4算法加密是采用的xor，所以，一旦子密钥序列出现了重复，密文就有可能被破解。RC4作为一种老旧的验证和加密算法易于受到黑客攻击，现在逐渐不推荐使用了。\n\n- RC5\n\n**RC5**,分组密码算法是1994由麻萨诸塞技术研究所的Ronald L. Rivest教授发明的，并由RSA实验室分析。不像许多方案，RC5具有可变块大小（32，64或128位），密钥大小（0到2040位）和轮回数（0到255）。参数的原始建议选择分别为64位，128位密钥和12轮的块大小。12轮的RC5（64位块）易受使用244选择明文差分攻击。18-20轮被认为是足够的安全保护。包括RC5-ECB,RC5-CBC,RC5-CTR,RC5-OFB,RC5-CFB 。\n\n- RC6\n\n**RC6**,在密码学中，RC6（维斯特密码6）为RC5派生的对称密钥块密码。它被设计由Ron Rivest, Matt Robshaw, Ray Sidney, and Yiqun Lisa Yin，以满足高级加密标准（AES）的要求。RC6具有128比特的块大小和支持的64,128,192和256位的密钥大小，像RC5可以进行参数设置，以支持各种字长，密钥大小，和轮数。它包括RC6-ECB,RC6-CBC,RC6-CTR,RC6-OFB,RC6-CFB 。\n\n- Blowfish\n\n**Blowfish**是一个对称加密块算法，是1993年有Bruce Schneider设计的，现已应用在多种加密产品。Blowfish能保证很好的加密速度，并且目前为止没有发现有效地破解方法。目前为止AES比Blowfish有更广的知名度。Schneider 设计的Blowfish算法用途广泛，意在摒弃DES的老化以及其他算法的强制捆绑。Blowfish刚刚研发出的时候，大部分其他加密算法是专利所有的活商业(政府)机密，所以发展起来非常受限制。Schneider 则声明 Blowfish 的使用没有任何限制，任何国家任何人任何时候都可以随意使用 Blowfish算法。包括Blowfish-ECB,Blowfish-CBC,Blowfish-CTR,Blowfish-OFB,Blowfish-CFB\n\n- Twofish\n\n**Twofish**,双鱼算法（Twofish）是布鲁斯·施奈尔带领的项目组于1998年研发的区块加密算法。美国国家标准技术研究所(NIST)公开招募的高级加密标准（AES）算法最终候选算法之一，但最终并未当选高级加密标准算法。双鱼算法的标志性特点是它采用了和密钥相关的替换盒（S盒）。密钥输入位的一半被用于“真正的”加密流程进行编排并作为Feistel的轮密钥使用，而另一半用于修改算法所使用的S盒。双鱼算法的密钥编排非常复杂。软件实现的128位双鱼算法在大多数平台上的运行速度不及最终获胜的128位的AES标准算法Rijndael，不过，256位的双鱼算法运行速度却较AES-256稍快。包括Twofish-ECB,Twofish-CBC,Twofish-CTR,Twofish-OFB,Twofish-CFB\n\n- Serpent \n\n**Serpent**,是一个对称密钥块密码，这是在高级加密标准（AES）的较量，它被排在第二位，以Rijndael算法入围。Serpent是由罗斯·安德森，礼比哈姆，和Lars努森设计。像其他的AES意见书，Serpent具有128比特的块大小和支持的128,192或256位的密钥大小。[2]所述的密码是32轮取代-置换网络的4个32位字的块上操作。每轮适用的8个4比特至4比特S-box的并行32倍之一。Serpent的目的是使所有的操作可以并行执行时，采用32位的切片。这最大限度地提高并行性，而且还允许使用DES上进行的广泛的密码分析工作。包括Serpent-ECB,Serpent-CBC,Serpent-CTR,Serpent-OFB,Serpent-CFB\n\n- Gost\n\n**Gost**,GOST分组密码，在标准GOST28147-89定义，是苏联和俄罗斯政府标准的对称密钥块密码。也正基于此分组密码是GOST散列函数。在20世纪70年代开发的，该标准已被标记为“绝密”，然后降级为“秘密”，在1990年后不久，苏联解体，它被解密，它是向公众发布于1994年GOST28147是苏联替代美国标准算法DES。包括Gost-ECB,Gost-CBC,Gost-CTR,Gost-OFB,Gost-CFB\n\n- Rijndael\n\n**Rijndael**,一般可以与AES等同，它实际是包括了AES加密。因为Rijndael加密法可以支持更大范围的区块和密钥长度：AES的区块长度固定为128 比特，密钥长度则可以是128，192或256比特；而Rijndael使用的密钥和区块长度可以是32位的整数倍，以128位为下限，256比特为上限。包括Rijndael-ECB,Rijndael-CBC,Rijndael-CTR,Rijndael-OFB,Rijndael-CFB\n\n- Xtea \n\n**Xtea**,在密码学中，XTEA（扩展TEA）是一个分组密码旨在纠正TEA的弱点。密码的设计者是大卫·惠勒和剑桥大学计算机实验室的罗杰·尼达姆和算法提出以一个未公开的技术报告于1997年（李约瑟和惠勒，1997年）。它是不受任何专利。喜欢TEA，XTEA是一个64位块Feistel密码，有128位密钥和建议64轮。从TEA几个差别是显而易见的，包括一个较为复杂的密钥调度和移位，异或，和添加的重排。包括Xtea-ECB,Xtea-CBC,Xtea-CTR,Xtea-OFB,Xtea-CFB\n\n### 非对称性加密解密\n\n- RSA公钥加密解密\n\n**RSA**,常说的非对称加密。加密解密密钥不一致，它们是成对出现，本工具密钥生成是PEM格式。公钥加密的私钥解密，私钥加密的要公钥解密。往往私钥是不公开的，公钥是大家共享的。相同内容，相同私钥每次加密后结果还会不一样。RSA已被ISO推荐为公钥数据加密标准，能够阻击各种破解方案。 通过公钥加密结果，必须私钥解密。 同样私钥加密结果，公钥可以解密。RSA加密也是块加密，因此一样存在填充模式。\n\n- RSA私钥加密解密\n\n**RSA**,非对称加密，私钥一般保存在比较安全地方，用户接触不到，PEM格式的私钥有2种模式，一种是带密码加密的，一种是没有带密码的。如果带密码私钥需要我们填写密码后，才可以使用该私钥加密、解密。没有带密码私钥直接可以使用。一般从生成格式可以看到。\"-----BEGIN PRIVATE KEY-----\"开头 \"-----END PRIVATE KEY-----\"结尾的为不要密码私钥。\"-----BEGIN ENCRYPTED PRIVATE KEY-----\"开头 \"-----END ENCRYPTED PRIVATE KEY-----\"结尾，是需要解密密码私钥。私钥加密内容，只能公钥解密，公钥加密内容，只能私钥解密。公钥加密的公钥不能解密的。\n\n- DSA\n\n做非对称加密密钥对一般有RSA、DSA，都可以用作签名验证，一般如果只做签名操作，生成DSA即可，速度会快很多,效率也很高。DSA尽管很少用，但是也一样具有很高可靠性，通过公私钥签名验证内容。保证数据在传输中不被修改。\n\n## 注意\n\n- 本项目仅用于学习交流，切勿用于任何非法用途。\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytebuff%2Fjspider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytebuff%2Fjspider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytebuff%2Fjspider/lists"}