工具用的順手嗎?
你的回饋能幫助我們做得更好
JavaScript程式碼混淆加密,保護原始碼安全防反編譯。
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
雖然頁面名稱含有「混淆、加密」,此工具實際上是把輸入的 JavaScript 原始碼文字轉成另一種文字表示,提供 Base64、Unicode 跳脫、十六進位跳脫、百分比編碼與字元碼五種模式。它不會替變數改名、重排控制流程、壓縮程式碼,也不會使用密鑰加密;輸出可透過相應方式還原,因此不能用來保護 API 金鑰、密碼、私鑰或原始碼機密。
搜尋「JS 混淆」時常會期待提升逆向難度的程式碼轉換;若你的目標是這類混淆或正式加密,這個頁面提供的編碼不符合該需求。它較適合觀察字串表示、製作測試資料,或在明確知道目標格式的情況下轉換程式碼文字。
\u 加四位十六進位數字。補充平面字元(例如多數 emoji)會拆成一對 code unit,所以可能看到兩組跳脫。\x 加兩位十六進位數字。中文字通常會形成多個位元組,因此輸出比單一字元長。String.fromCharCode 可重建相同 code unit 序列。Base64 標準描述的是位元組到文字的表示方式,並未提供保密性;JavaScript 規格則定義字串與 String.fromCharCode 所使用的 UTF-16 code unit。這些標準可協助理解輸出格式,不能據此推論內容受到保護。來源核驗日期:2026-09-30。
指南
依步驟完成操作,並透過範例核對輸入與結果。
在輸入區貼上或輸入 JavaScript 原始碼文字。工具只轉換文字,不會先解析語法或執行程式,因此請確認貼入的是你願意處理的內容。
選擇 Base64、Unicode、十六進位、百分比編碼或字元碼。切換模式或修改輸入時,輸出會依目前內容更新。
視需要選擇是否使用 eval 包裝。開啟時輸出會嘗試解碼文字後交給 eval 執行;關閉時則把解碼後的文字放入 __payload 變數。兩種輸出都只是產生文字,不代表工具替你驗證程式可安全執行。
檢查輸出後使用複製或下載功能取用;清空輸入可重新開始。若要放進另一個程式或網址,先確認接收端期待的字元編碼及解碼方式一致。
例如英文 Hi 的 UTF-8 位元組是 48 69,Base64 表示為 SGk=;Unicode 跳脫則是 \u0048\u0069,十六進位跳脫是 \x48\x69,字元碼是 72,105。以上是表示法不同,內容本身仍可還原。
情境
查看這項工具在不同工作與生活流程中的用法。
講解 Base64、跳脫序列與字元碼時,輸入短小、無敏感資料的程式片段,比較同一文字在不同模式的樣子,再由讀者自行確認如何還原。
需要在測試案例中檢查特殊字元的文字表示時,選擇目標系統要求的格式,複製輸出後在測試環境驗證解碼結果,不要把它當成正式的存取控制或資料保護。
想觀察一段程式文字經過編碼後的外觀時,可先用短片段比較模式;若要真正混淆、縮小檔案或保護機密,應改用符合該需求且經過驗證的流程。
問答
集中解答常見疑問與容易混淆的問題。
不是。這些模式只改變文字表示,沒有加密金鑰,也沒有進行語法層級的混淆;取得輸出的人可以依格式解碼或還原。不要用它隱藏憑據、私密資料或商業機密。
Unicode 模式依 JavaScript 字串中的 UTF-16 code unit 逐個輸出 \uXXXX;十六進位模式先轉 UTF-8 位元組,再逐位元組輸出 \xNN。ASCII 字元常看起來相近,中文字或 emoji 則會呈現不同數量的跳脫單元。
不會。它只把輸入文字放入可執行的包裝輸出,沒有替程式做語法檢查或執行測試。執行 eval 會把字串當作程式碼解析執行,因此只對自己審查過且可信的內容考慮使用。
各模式對字元的表示方式與接收端解碼條件不同;百分比編碼遇到無法編碼的字串內容也可能失敗。另有些輸出需要特定 JavaScript 語境或安全政策才能執行。先關閉 eval 檢查純文字結果,確認目標端的編碼規則後,再於隔離的測試環境驗證。
須知
使用前了解適用範圍、結果限制與必要提醒。
Base64、Unicode/十六進位跳脫、百分比編碼與字元碼都不是密碼學加密;顯示難讀不代表內容保密。不要輸入或分享密碼、存取權杖、私鑰及其他敏感值。若輸出開啟 eval,執行會依呼叫環境的權限處理其中程式碼;來源不明或未審閱的輸入可能帶來程式執行風險。工具不驗證 JavaScript 語法、不保證執行結果,也不判定輸出在你的瀏覽器、伺服器或建置流程中是否相容。MDN 對 eval 的說明指出,傳入字串會被解析並執行;核驗於 2026-09-30。
推薦
查找相關工具、專題與可用的 API 能力。