導航:首頁 > 文檔加密 > jshttp加密

jshttp加密

發布時間:2024-10-16 05:03:42

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

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

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

例如:答局<script language="javascript">document.write('<a href="http://passport..com/?logout&aid=7&u='+encodeURIComponent("http://cang..com/bruce42")+'">退出</a>');</script>

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

例如:Location.href=encodeURI("http://cang..com/do/s?word=網路&ct=21");

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

例如:搜藏中history紀錄。

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

2. 求與之php openssl_public_encrypt()相對應的js加密方法

  1. 為啥用js加密,傳遞給php再加密,不一樣么,反正你的私鑰和公鑰都在伺服器有;

  2. 不過關於這個加密的js版本庫,你可以參考一下jsencrypt庫或者Crypto-JS庫,他們的計算方式需要你自己親測,下面附帶兩個案例地址:

    jsencrypt庫:http://www.cnblogs.com/syjkfind/p/4617492.html

    Crypto-JS庫:http://m.blog.csdn.net/blog/momo_mutou/44240371

3. 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>

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

4. https和http的區別

1、HTTP 屬於超文本傳輸協議,用來在 Internet 上傳送超文本,而 HTTPS 為安全超文本傳輸協議,在 HTTPS 基礎上擁有更強的安全性,簡單來說 HTTPS 是 HTTP 的安全版,是使用 TLS/SSL 加密的 HTTP 協議。
超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站伺服器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。
為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS,為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通信加密。
一、HTTP和HTTPS的基本概念
HTTP:是互聯網上應用最為廣泛的一種網路協議,是一個客戶端和伺服器端請求和應答的標准(TCP),用於從WWW伺服器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。
HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。
HTTPS協議的主要作用可以分為兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種就是確認網站的真實性。
二、HTTP與HTTPS有什麼區別?
HTTP協議傳輸的數據都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私信息非常不安全,為了保證這些隱私數據能加密傳輸,於是網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。簡單來說,HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全。
HTTPS和HTTP的區別主要如下:
1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
2、http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
3、http和https使用的是完全不同的連接方式,用的埠也不一樣,前者是80,後者是443。
4、http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。
三、HTTPS的工作原理
我們都知道HTTPS能夠加密信息,以免敏感信息被第三方獲取,所以很多銀行網站或電子郵箱等等安全級別較高的服務都會採用HTTPS協議。
客戶端在使用HTTPS方式與Web伺服器通信時有以下幾個步驟,如圖所示。
(1)客戶使用https的URL訪問Web伺服器,要求與Web伺服器建立SSL連接。
(2)Web伺服器收到客戶端請求後,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。
(3)客戶端的瀏覽器與Web伺服器開始協商SSL連接的安全等級,也就是信息加密的等級。
(4)客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然後利用網站的公鑰將會話密鑰加密,並傳送給網站。
(5)Web伺服器利用自己的私鑰解密出會話密鑰。
(6)Web伺服器利用會話密鑰加密與客戶端之間的通信。
四、HTTPS的優點
盡管HTTPS並非絕對安全,掌握根證書的機構、掌握加密演算法的組織同樣可以進行中間人形式的攻擊,但HTTPS仍是現行架構下最安全的解決方案,主要有以下幾個好處:
(1)使用HTTPS協議可認證用戶和伺服器,確保數據發送到正確的客戶機和伺服器;
(2)HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性。
(3)HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
(4)谷歌曾在2014年8月份調整搜索引擎演算法,並稱比起同等HTTP網站,採用HTTPS加密的網站在搜索結果中的排名將會更高。
五、HTTPS的缺點
雖然說HTTPS有很大的優勢,但其相對來說,還是存在不足之處的:
(1)HTTPS協議握手階段比較費時,會使頁面的載入時間延長近50%,增加10%到20%的耗電;
(2)HTTPS連接緩存不如HTTP高效,會增加數據開銷和功耗,甚至已有的安全措施也會因此而受到影響;
(3)SSL證書需要錢,功能越強大的證書費用越高,個人網站、小網站沒有必要一般不會用。
(4)SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。
(5)HTTPS協議的加密范圍也比較有限,在黑客攻擊、拒絕服務攻擊、伺服器劫持等方面幾乎起不到什麼作用。最關鍵的,SSL證書的信用鏈體系並不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
六、http切換到HTTPS
如果需要將網站從http切換到https到底該如何實現呢?
這里需要將頁面中所有的鏈接,例如js,css,圖片等等鏈接都由http改為https。例如:網頁鏈接改為網頁鏈接
BTW,這里雖然將http切換為了https,還是建議保留http。所以我們在切換的時候可以做http和https的兼容,具體實現方式是,去掉頁面鏈接中的http頭部,這樣可以自動匹配http頭和https頭。例如:將網頁鏈接改為//www..com。然後當用戶從http的入口進入訪問頁面時,頁面就是http,如果用戶是從https的入口進入訪問頁面,頁面即使https的。

閱讀全文

與jshttp加密相關的資料

熱點內容
抖音抖幣充值源碼 瀏覽:733
我的世界如何去更新伺服器 瀏覽:73
單片機視頻模塊 瀏覽:996
程序員的圖中的亮點在哪裡 瀏覽:657
蘋果手機伺服器地址是什麼意思 瀏覽:461
雲伺服器裡面怎麼升級d盤 瀏覽:546
java文件存入資料庫 瀏覽:89
雷特字幕出現未發現加密鎖 瀏覽:768
java線程監視 瀏覽:947
無聊的程序員日常 瀏覽:803
雲伺服器ecs項目 瀏覽:23
健康證伺服器地址是什麼意思 瀏覽:196
惠普筆記本提取壓縮軟體 瀏覽:773
市政管網水準點加密 瀏覽:951
安卓底部三鍵怎麼關閉 瀏覽:649
php高效分頁 瀏覽:15
輕閱讀的伺服器的地址是什麼 瀏覽:957
得力app如何刪除設備 瀏覽:603
怎麼把伺服器卡死 瀏覽:479
ug加密的key文件 瀏覽:165