js 逆向技术的集合

1,534 阅读4分钟

一、以下是几个常用的 JavaScript 压缩和解压缩库:

1.  zlib:这是一个使用 C 语言编写的压缩库,可通过 Node.js 的 zlib 模块在 JavaScript 中使用。zlib 可以进行 Gzip 和 Deflate 压缩和解压缩操作。
2.  pako:这是一个使用 C++ 语言编写的快速压缩库,可在 Web 浏览器和 Node.js 环境下使用。pako 支持 Gzip 和 Deflate 压缩和解压缩操作,可以很快地处理大量数据。
3.  lz-string:这是一个使用 JavaScript 编写的轻量级字符串压缩库,不需要任何外部依赖。lz-string 使用一种类似于 LZW 的算法进行字符串压缩和解压缩操作,可以在 Web 浏览器和 Node.js 环境下使用。
4.  JSZip:这是一个使用 JavaScript 编写的压缩和解压缩库,可以在 Web 浏览器和 Node.js 环境下使用。JSZip 支持 Zip、Gzip、Deflate 和 Bzip2 压缩和解压缩操作,可以用于创建和读取 Zip 格式的文件。
5.  tar:这是一个使用 JavaScript 编写的 tar 文件压缩和解压缩库,可在 Web 浏览器和 Node.js 环境下使用。tar 可以将多个文件或目录打包成一个 tar 文件,并进行 Gzip 或 Bzip2 压缩,也可以解压缩 tar 文件。

这些库中,zlib 和 pako 是比较常用的 JavaScript 压缩和解压缩库。lz-string 则适合对字符串进行压缩操作。JSZip 和 tar 则是用于压缩多个文件或目录,并可读取和解压缩文件的库。
常用的JavaScript压缩和解压库有以下几个:

1.  zlib:这是一个流行的压缩和解压库,它提供了zlib的功能,可以在浏览器和Node.js环境中使用。你可以在https://github.com/nodejs/node/blob/master/lib/zlib.js找到这个库的源代码。
2.  pako:这是一个轻量级的库,它提供了zlib的功能,可以在浏览器和Node.js环境中使用。它的代码量比zlib少得多,压缩和解压缩速度比zlib快,但是压缩率比zlib低。你可以在https://github.com/nodeca/pako找到这个库的源代码。
3.  lz-string:这是一个用于压缩和解压缩字符串的库,它的压缩率比zlib和pako高,但是压缩和解压缩速度比它们慢。你可以在https://github.com/pieroxy/lz-string找到这个库的源代码。
4.  lzma:这是一个用于压缩和解压缩数据的库,它提供了LZMA算法的功能。它的压缩率比zlib和pako高,但是压缩和解压缩速度比它们慢。你可以在https://github.com/addaleax/lzma-native找到这个库的源代码。

以上是一些常用的JavaScript压缩和解压库,你可以根据自己的需求选择使用哪一个。

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6IjEzOTM1MThAcXEuY29tIiwiaWF0IjoxNjgzNzAxODUzLCJleHAiOjE2ODM5NjEwNTN9.HauCUxj4vxTn29FLCjTytseUqb92XCXY0vIUiedTapg 一般网站采用这种token 来识别是否使用 这样的技术叫什么 如何使用js来实现

这种技术叫做JWT(JSON Web Token),它是一种开放标准(RFC 7519),可以在网络应用程序之间安全地传递身份验证和授权数据。在Web应用程序中,JWT通常是由服务器在用户登录后颁发,并在用户发出请求时用于识别用户。

使用JavaScript创建和解码JWT可以使用现有的JavaScript JWT库,如JSON Web Token library([github.com/auth0/node-…]

在这些库中,创建JWT所需的步骤通常大致如下:

  1. 创建包含用户ID,过期时间等有用信息的负载对象。
  2. 设置使用的密钥,用于对JWT进行签名,以防止伪造。
  3. 使用函数将负载和密钥作为参数,创建JWT。 在解码JWT时,使用类似的库功能即可。例如:
复制代码
const jwt = require('jsonwebtoken');
const payload = { email: '1393518@qq.com' };
const secretKey = 'my-secret-key';
const options = { expiresIn: '1d' };
const token = jwt.sign(payload, secretKey, options);
console.log(token);

const decodedPayload = jwt.verify(token, secretKey);
console.log(decodedPayload);

此代码将创建JWT,使用提供的负载和密钥进行签名,并输出包含JWT的字符串。然后,它将解码JWT,并输出包含负载的JavaScript对象,以验证是否已解码正确。

注意:JWT通常在发送到服务器之前存储在客户端上,因此应该在客户端上执行JWT操作。在服务器端执行JWT操作可能会降低安全性。