溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Swissknife是什么

發(fā)布時(shí)間:2021-12-20 09:58:32 來源:億速云 閱讀:135 作者:小新 欄目:數(shù)據(jù)安全

這篇文章將為大家詳細(xì)講解有關(guān)Swissknife是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

關(guān)于Swissknife

Swissknife是一個(gè)腳本化的VSCode擴(kuò)展,可以幫助廣大研究人員生成或修改數(shù)據(jù),并防止在Web頁面中泄露敏感數(shù)據(jù)。

當(dāng)前可用的腳本

Base64解碼

Base64編碼

二進(jìn)制轉(zhuǎn)文本

Bip39助記符

CSV轉(zhuǎn)Markdown

字符計(jì)數(shù)

單詞計(jì)數(shù)

加密貨幣值

日期轉(zhuǎn)時(shí)間戳

橢圓曲線密鑰對

生成密碼

HTML編碼(全部)

十六進(jìn)制解碼

十六進(jìn)制編碼

十六進(jìn)制轉(zhuǎn)RGB

標(biāo)識哈希

JWT解碼

Markdown轉(zhuǎn)HTML

Md5哈希

新Swissknife腳本(JS)

新Swissknife腳本(TS)

密碼長度

RGB轉(zhuǎn)十六進(jìn)制

RSA密鑰對

隨機(jī)字符串

請求獲取

SHA1哈希

SHA256哈希

SHA512哈希

自簽名證書

啟動(dòng)本地HTTP服務(wù)器

啟動(dòng)本地HTTPS服務(wù)器

停止HTTP服務(wù)器

文本轉(zhuǎn)二進(jìn)制

文本轉(zhuǎn)字符串

時(shí)間戳轉(zhuǎn)日期

駝峰命名

小寫命名

摩斯密碼

大寫命名

UUIDv4

Unicode解碼

Unicode編碼(js格式)

Unix/Linux轉(zhuǎn)人類可讀

Url解碼

Url編碼

Url編碼(所有字符)

Url縮短

Url擴(kuò)展

工具使用

在Windows系統(tǒng)或macOS上,你可以使用ctrl+shift+9調(diào)用專用命令pallete。默認(rèn)配置下,僅會(huì)對選定的文本進(jìn)行轉(zhuǎn)換。如果未選擇任何文本,則將使用編輯器的全部內(nèi)容。它支持多重選擇,并將為每個(gè)選擇單獨(dú)運(yùn)行腳本。

如果你的電腦配有Macbook Touchbar的話,也可以直接從Macbook的Touchbar調(diào)用Swissknife擴(kuò)展:

Swissknife是什么

部分腳本細(xì)節(jié)

加密貨幣值

使用Cryptonator的API,你可以直接轉(zhuǎn)換文本內(nèi)容,比如說:

1btc to eur

識別哈希

操作的結(jié)果可能返回多個(gè)值,因?yàn)閬碜圆煌惴ǖ墓>哂邢嗤妮敵龈袷?。我們?nèi)匀话凑兆钕嚓P(guān)的順序從上到下組織哈希。

HTTPS(S)服務(wù)器

服務(wù)器會(huì)將接收到的所有請求記錄到VSCode的“Output”窗口中(你可以通過進(jìn)入菜單中的view->Output來查看)。然后可以在窗口的右側(cè)(通常有“Tasks”值),按“Swissknife Server”過濾。

腳本開發(fā)

Swissknife將自動(dòng)加載其用戶腳本文件夾中的所有腳本,你可以通過執(zhí)行命令找到所需的腳本。打開命令行窗口,然后輸入“Open swissknife users script folder”,或者按照命令提示建議進(jìn)行輸入。

如需啟動(dòng)新的腳本,還可以使用擴(kuò)展提供的命令。打開Swissknife Picker,,然后輸入“New swissknife script”即可。

腳本模板

你可以根據(jù)自己的需要來選擇TS或JS版本,TS比較復(fù)雜,因?yàn)槲覀冃枰獙⑵滢D(zhuǎn)譯為JS。這里我們使用JavaScript,下面給出的是腳本的基本結(jié)構(gòu):

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;

這是創(chuàng)建腳本的基本模板。在這個(gè)文件中,我們創(chuàng)建了一個(gè)名為“My Script”的腳本。每個(gè)文件可以有任意數(shù)量的腳本,這只是一種組織方式。腳本的結(jié)構(gòu)由3個(gè)屬性組成:title、detail和cb。其中的cb是腳本運(yùn)行時(shí)將調(diào)用的代碼。

更多樣本

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;

關(guān)于“Swissknife是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI