js字母加密程序,c語言簡單加密程序

本文目錄一覽:

js 如何加密

JavaScript加密方法無數,但加密後必須把解密程序明文附上,所以加密一點用都沒有

如何使用js封裝一個使用ASCII碼加密參數的方法

js對文字進行編碼涉及3個函數:escape,encodeURI,encodeURIComponent,相應3個解碼函數:unescape,decodeURI,decodeURIComponent

1.傳遞參數時需要使用encodeURIComponent,這樣組合的url才不會被#等特殊字元截斷。

例如:script language=”javascript”document.write(‘a href=”;aid=7u=’+encodeURIComponent(“”)+'”退出/a’);/script

2.進行url跳轉時可以整體使用encodeURI

例如:Location.href=encodeURI(“百度ct=21”);

3. js使用數據時可以使用escape

例如:搜藏中history紀錄。

4.escape對0-255以外的unicode值進行編碼時輸出%u****格式,其它情況下escape,encodeURI,encodeURIComponent編碼結果相同。

請問這種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’ === ‘學’

那麼為什麼要這麼麻煩呢?直接輸入字元不就好了嗎?要知道,有些字元是不能列印或不能被輸入的(比如功能/控制字元「退格」等),如果要在字元串中包含這些字元,只能依靠字元串轉義了!

回頭看樓主給的代碼:

“\x64\x6f\x63\x75\x6d\x65\x6e\x74”

這個是什麼?

F12開瀏覽器開發者工具,切到控制台(或者你有 node.js),在控制台輸入這一串。

你看到輸出什麼了嗎?

“document”

繼續

“\x77\x72\x69\x74\x65\x6c\x6e”

這個輸入後,控制台返回

“writeln”

剩下括弧內的也是一樣的啦。結果是一個指向特定地址的 a 標籤。

所以翻譯過來就是

window[‘document’][‘writeln’](‘a href=”…”標籤/a’)

看懂了?

好,既然樓主說要怎麼加密的。我就寫了個 JS 腳本,只要調用這個方法,你就得到「加密」後的字元串信息了:

function encrypt(str) {

  var result = ”, charCode

  for(var i = 0, length = str.length; i  length; i++) {

    charCode = str.charCodeAt(i)

    if(charCode  0x10) {

      result += ‘\\x0’ + charCode.toString(16)

    } else if(charCode  0x100) {

      result += ‘\\x’ + charCode.toString(16)

    } else if(charCode  0x1000) {

      result += ‘\\u0’ + charCode.toString(16)

    }else {

      result += ‘\\u’ + charCode.toString(16)

    }

  }

  return result

}

在控制台執行

encrpty(‘樓主給的那一串’)

返回

“\x3c\x61\x20\x68\x72\x65\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x63\x79\x6d\x6b\x2e\x63\x6f\x6d\x2f\x22\x20\x74\x61\x72\x67\x65\x74\x3d\x22\x5f\x62\x6c\x61\x6e\x6b\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x46\x46\x30\x30\x30\x30\x3b\x22\x3e\x3c\x62\x3e\x43\x43\u6e90\u7801\u8bba\u575b\x3c\x2f\x62\x3e\x3c\x2f\x61\x3e”

樓主只要把括弧中的那一串替換為上面輸入的內容就好了。

介紹一點js加密的方法

一:最簡單的加密解密

大家對於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(“\141\154\145\162\164\50\42\u9ED1\u5BA2\u9632\u7EBF\42\51\73”)

/SCRIPT

十六進位轉義字元串如下:

SCRIPT LANGUAGE=”JavaScript”

eval(“\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B”)

/SCRIPT

這次沒有了解碼函數,因為JavaScript執行時會自行轉換,同樣解碼也是很簡單如下:

SCRIPT LANGUAGE=”JavaScript”

alert(“\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B”)

/SCRIPT

就會彈出對話框告訴你解密後的結果!

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(“1411541451621645042u9ED1u5BA2u9632u7EBF425173”)

/SCRIPT

十六進位轉義字元串如下:

SCRIPT LANGUAGE=”JavaScript”

eval(“x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B”)

/SCRIPT

這次沒有了解碼函數,因為JavaScript執行時會自行轉換,同樣解碼也是很簡單如下:

SCRIPT LANGUAGE=”JavaScript”

alert(“x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B”)

/SCRIPT

就會彈出對話框告訴你解密後的結果!

如何給js加密

一般來說這種加密的做用不大,都有相應的解密程序,即使是自己編寫加密函數那麼可以通過查看你的JS加密函數來解密,所以在做資料庫連接時還是用服務端的角本連接的好。

如果想難住一般人可以用兩種加密,一種是js的escape函數還有一個是JScript.Encode加密,如果需要請留言。

原創文章,作者:SKSU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132956.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SKSU的頭像SKSU
上一篇 2024-10-03 23:55
下一篇 2024-10-03 23:55

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29

發表回復

登錄後才能評論