Ⅰ 介紹一點js加密的方法
你可以到網上下載下面所用的js文件。 1、base64加密 在頁面中引入base64.js
文件,調用方法為:2、md5加密 在頁面中引用md5.js
文件,調用方法為3、sha1加密 據說這是最安全的加密 頁面中引入sha1.js
,調用方法為 script type="text/ecmascript" src="sha1.js"/script script type="text/javascript" var sha = hex_sha1('mima123465') alert(sha) /script
Ⅱ 如何將項目中所有的js代碼一次性加密
js代碼是可以進行簡單加密的,比如混淆加密。可以自己搜索一下js 混淆加密,有相關網站提供在線加密服務。
Ⅲ 請問這種JS代碼怎麼加密
這不算加密,只不過一眼看不出來罷了。其實就是JavaScript字元串轉義。
原理很簡單,比如字元 』w『
它的 charCode 是 119 十六進製表示為 0x77
然後利用 JavaScript 字元串轉義前綴 x,表達出編碼過的 ASCII 字元來:
x+charCode的十六進製表示(兩位)
所以字元串 'x77' 就是字元串 'w'
也就是說
'x77'==='w'
這個的返回值是 true,二者完全等效!
這是對於 ascii 代碼表示形式,charCode 大於 255 的怎麼處理?就要用到 u 前綴了
u+charCode的十六進製表示(
比如漢字 '學' 的 charCode 是23398 (0x5b66)
書寫時只要把 0x 替換為 u:
u5b66
這樣就可以了。
'u5b66'==='學'
那麼為什麼要這么麻煩呢?直接輸入字元不就好了嗎?要知道,有些字元是不能列印或不能被輸入的(比如功能/控制字元「退格」等),如果要在字元串中包含這些字元,只能依靠字元串轉義了!
回頭看樓主給的代碼:
"x64x6fx63x75x6dx65x6ex74"
這個是什麼?
F12開瀏覽器開發者工具,切到控制台(或者你有 node.js),在控制台輸入這一串。
你看到輸出什麼了嗎?
"document"
繼續
"x77x72x69x74x65x6cx6e"
這個輸入後,控制台返回
"writeln"
剩下括弧內的也是一樣的啦。結果是一個指向特定地址的 <a> 標簽。
所以翻譯過來就是
window['document']['writeln']('<ahref="...">標簽</a>')
看懂了?
好,既然樓主說要怎麼加密的。我就寫了個 JS 腳本,只要調用這個方法,你就得到「加密」後的字元串信息了:
functionencrypt(str){
varresult='',charCode
for(vari=0,length=str.length;i<length;i++){
charCode=str.charCodeAt(i)
if(charCode<0x10){
result+='\x0'+charCode.toString(16)
}elseif(charCode<0x100){
result+='\x'+charCode.toString(16)
}elseif(charCode<0x1000){
result+='\u0'+charCode.toString(16)
}else{
result+='\u'+charCode.toString(16)
}
}
returnresult
}
在控制台執行
encrpty('樓主給的那一串')
返回
""
樓主只要把括弧中的那一串替換為上面輸入的內容就好了。
Ⅳ js有什麼加密方法
JavaScript(JS)加密方法主要分為兩類:客戶端加密和伺服器端加密。客戶端加密在瀏覽器端進行,包括使用混淆技術、編碼技術、二進制轉換、混淆函數名等方法,以增加代碼的可讀性,使惡意分析者難以理解或修改代碼內容。混淆技術通過修改函數名、參數名、變數名等,使代碼結構變得復雜。編碼技術則是將源代碼轉換為二進制形式或使用特定編碼,如Base64編碼,以隱藏原始代碼信息。二進制轉換則將JavaScript代碼轉換為二進制數據,再進行編碼,進一步增加理解難度。
伺服器端加密通常在後端進行,如使用HTTPS協議加密數據傳輸,或在代碼部署前進行加密處理,防止在開發和測試環境中泄漏敏感信息。伺服器端加密方法可以包括使用密碼學演算法對數據進行加密,如AES、RSA等。
JavaScript混淆工具如JSMin、UglifyJS、Terser等,可以將代碼壓縮、刪除無用注釋、變數、空語句,減少代碼大小,提升載入速度。混淆工具如Obfuscator.io、JSOUP等,除了壓縮代碼,還能進行更復雜的代碼轉換,如將函數重命名、參數重命名、代碼結構重組等,以增加代碼的復雜性和難以理解程度。
混淆和加密都是為了保護代碼安全,防止未經授權的訪問和修改。在移動應用、網站、小程序開發中,保護用戶數據、提高用戶體驗、防止惡意破解和篡改非常重要。使用混淆和加密技術,可以在不改變代碼功能的情況下,增強代碼的安全性和可維護性。
JSHaman等專業加密混淆服務商提供在線混淆加密平台和本地部署服務,用戶可以根據需求選擇合適的加密方式。在線平台方便快捷,適合輕量級項目或快速部署需求。本地部署版本則提供更自主的控制權,適合對安全性有更高要求或有特定集成需求的項目。使用JSHaman等服務,可以有效地保護JavaScript代碼,確保代碼安全、可靠。
JavaScript加密方法廣泛應用於防止代碼分析、復制、篡改,以及小程序過審等場景。選擇合適的加密技術,結合混淆工具和服務,可以有效提升代碼的安全性,保護開發者的知識產權,同時提高應用的穩定性和用戶體驗。
Ⅳ JS加密方法
本文一共介紹了七種方法:
一:最簡單的加密解密
二:轉義字元""的妙用
三:使用Microsoft出品的腳本編碼器Script Encoder來進行編碼 (自創簡單解碼)
四:任意添加NUL空字元(十六進制00H) (自創)
五:無用內容混亂以及換行空格TAB大法
六:自寫解密函數法
七:錯誤的利用 (自創)
在做網頁時(其實是網頁木馬呵呵),最讓人煩惱的是自己辛辛苦苦寫出來的客戶端IE運行的JAVASCRIPT代碼常常被別人輕易的拷貝,實在讓自己的心裡有點不是滋味,要知道自己寫點東西也挺累的......^*^
但我們也應該清楚地認識到因為JAVASCRIPT代碼是在IE中解釋執行,要想絕對的保密是不可能的,我們要做的就是盡可能的增大拷貝者復制的難度,讓他知難而退(但願~!~),下面我結合自己這幾年來的實踐,及個人研究的心得,和大家一起來探討一下網頁中JAVASCRIPT代碼的加密解密技術。
以加密下面的JAVASCRIPT代碼為例:
<SCRIPT LANGUAGE="JavaScript">
alert("《黑客防線》");
</SCRIPT>
一:最簡單的加密解密
大家對於JAVASCRIPT函數escape()和unescape()想必是比較了解啦(很多網頁加密在用它們),分別是編碼和解碼字元串,比如例子代碼用escape()函數加密後變為如下格式:
alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
如何?還看的懂嗎?當然其中的ASCII字元"alert"並沒有被加密,如果願意我們可以寫點JAVASCRIPT代碼重新把它加密如下:
%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
呵呵!如何?這次是完全都加密了!
當然,這樣加密後的代碼是不能直接運行的,幸好還有eval(codeString)可用,這個函數的作用就是檢查JavaScript代碼並執行,必選項 codeString 參數是包含有效 JavaScript 代碼的字元串值,加上上面的解碼unescape(),加密後的結果如下:
<SCRIPT LANGUAGE="JavaScript">
var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");
eval(code)
</SCRIPT>
是不是很簡單?不要高興,解密也就同樣的簡單,解密代碼都擺給別人啦(unescape())!呵呵
二:轉義字元""的妙用
大家可能對轉義字元""不太熟悉,但對於JavaScript提供了一些特殊字元如:n (換行)、 r (回車)、' (單引號 )等應該是有所了解的吧?其實""後面還可以跟八進制或十六進制的數字,如字元"a"則可以表示為:"141"或"x61"(注意是小寫字元"x"),至於雙位元組字元如漢字"黑"則僅能用十六進製表示為"u9ED1"(注意是小寫字元"u"),其中字元"u"表示是雙位元組字元,根據這個原理例子代碼則可以表示為:
八進制轉義字元串如下:
<SCRIPT LANGUAGE="JavaScript">
eval("")
</SCRIPT>
十六進制轉義字元串如下:
<SCRIPT LANGUAGE="JavaScript">
eval("")
</SCRIPT>
這次沒有了解碼函數,因為JavaScript執行時會自行轉換,同樣解碼也是很簡單如下:
<SCRIPT LANGUAGE="JavaScript">
alert("")
</SCRIPT>
就會彈出對話框告訴你解密後的結果!
Ⅵ HTML中怎樣隱藏JS代碼
一般是將js單獨寫在js文件中,然後頁面去引用js文件。這樣做到HTML與JS的分離
然後對引用的js文件中的代碼。進行js的壓縮處理,轉化成不可讀的代碼。這樣別人就很難能看懂你的JS代碼了