温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Swissknife是什么

发布时间:2021-12-20 09:58:32 来源:亿速云 阅读:140 作者:小新 栏目:数据安全

这篇文章将为大家详细讲解有关Swissknife是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

关于Swissknife

Swissknife是一个脚本化的VSCode扩展,可以帮助广大研究人员生成或修改数据,并防止在Web页面中泄露敏感数据。

当前可用的脚本

Base64解码

Base64编码

二进制转文本

Bip39助记符

CSV转Markdown

字符计数

单词计数

加密货币值

日期转时间戳

椭圆曲线密钥对

生成密码

HTML编码(全部)

十六进制解码

十六进制编码

十六进制转RGB

标识哈希

JWT解码

Markdown转HTML

Md5哈希

新Swissknife脚本(JS)

新Swissknife脚本(TS)

密码长度

RGB转十六进制

RSA密钥对

随机字符串

请求获取

SHA1哈希

SHA256哈希

SHA512哈希

自签名证书

启动本地HTTP服务器

启动本地HTTPS服务器

停止HTTP服务器

文本转二进制

文本转字符串

时间戳转日期

驼峰命名

小写命名

摩斯密码

大写命名

UUIDv4

Unicode解码

Unicode编码(js格式)

Unix/Linux转人类可读

Url解码

Url编码

Url编码(所有字符)

Url缩短

Url扩展

工具使用

在Windows系统或macOS上,你可以使用ctrl+shift+9调用专用命令pallete。默认配置下,仅会对选定的文本进行转换。如果未选择任何文本,则将使用编辑器的全部内容。它支持多重选择,并将为每个选择单独运行脚本。

如果你的电脑配有Macbook Touchbar的话,也可以直接从Macbook的Touchbar调用Swissknife扩展:

Swissknife是什么

部分脚本细节

加密货币值

使用Cryptonator的API,你可以直接转换文本内容,比如说:

1btc to eur

识别哈希

操作的结果可能返回多个值,因为来自不同算法的哈希具有相同的输出格式。我们仍然按照最相关的顺序从上到下组织哈希。

HTTPS(S)服务器

服务器会将接收到的所有请求记录到VSCode的“Output”窗口中(你可以通过进入菜单中的view->Output来查看)。然后可以在窗口的右侧(通常有“Tasks”值),按“Swissknife Server”过滤。

脚本开发

Swissknife将自动加载其用户脚本文件夹中的所有脚本,你可以通过执行命令找到所需的脚本。打开命令行窗口,然后输入“Open swissknife users script folder”,或者按照命令提示建议进行输入。

如需启动新的脚本,还可以使用扩展提供的命令。打开Swissknife Picker,,然后输入“New swissknife script”即可。

脚本模板

你可以根据自己的需要来选择TS或JS版本,TS比较复杂,因为我们需要将其转译为JS。这里我们使用JavaScript,下面给出的是脚本的基本结构:

Object.defineProperty(exports, "__esModule", { value: true });

 

exports.doSomething = async (text, context) => {

  return new Promise((resolve, reject) => {

 

    resolve(text.replace(/a/g, "b"));

 

  });

}

const scripts = [

  {

    title: "My Script",

    detail: "This script does something",

    cb: (context) => context.replaceRoutine(exports.doSomething)

  },

]

 

exports.default = scripts;

这是创建脚本的基本模板。在这个文件中,我们创建了一个名为“My Script”的脚本。每个文件可以有任意数量的脚本,这只是一种组织方式。脚本的结构由3个属性组成:title、detail和cb。其中的cb是脚本运行时将调用的代码。

更多样本

Object.defineProperty(exports, "__esModule", { value: true });

 

//Uses the context.modules to reuse existing code. Starts an http server

exports.startServer = async (context) => {

  context.modules.lib.server.start({ port: 1234 })

}

 

//uses context.userModules to invoke another user script

//there will be an entry in context.userModules with the name of the file with scripts loaded

//all exported methods are accessible...

//If  invoking a script remember to send the right params, like the context

exports.anotherUserScript = async (context) => {

  context.modules.othermodule.hellowWorld(context);

}

 

//Ask user for input

exports.askInput = async (context) => {

  return new Promise((resolve, reject) => {

    context.vscode.window.showInputBox({ prompt: "Say something" }).then(answer => {

      resolve(answer);

    });

  });

}

const scripts = [

  {

    title: "Ask Input",

    detail: "Asks user input and adds it to the editor",

    cb: (context) => context.insertRoutine(this.askInput)

  },

  {

    title: "Start server on port 1234",

    detail: "Starts a server on port 1234",

    cb: (context) => this.startServer(context)

  },

  {

    title: "Call Another User script",

    detail: "Calls Another User script",

    cb: (context) => context.insertRoutine(this.anotherUserScript)

  },

]

 

exports.default = scripts;

关于“Swissknife是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI