JS實現(xiàn)的RC4加密算法示例
本文實例講述了JS實現(xiàn)的RC4加密算法。分享給大家供大家參考,具體如下:
RC4是一種簡單的對稱加密算法,在文本加密,通信加密等場景應(yīng)用非常廣泛。
在Web中可以用來對本地存儲數(shù)據(jù)進行加密,比如存儲cookie中的用戶名和密碼,敏感信息等。
以下是本人根據(jù)其思想基于JS實現(xiàn)的算法。
//var ctext = rc4("我是明文","我是密碼"); //var text = rc4(ctext, "我是密碼"); function rc4(data, key) { var seq = Array(256); //int var das = Array(data.length); //code of data for (var i = 0; i < 256; i++) { seq[i] = i; var j = (j + seq[i] + key.charCodeAt(i % key.length)) % 256; var temp = seq[i]; seq[i] = seq[j]; seq[j] = temp; } for (var i = 0; i < data.length; i++) { das[i] = data.charCodeAt(i) } for (var x = 0; x < das.length; x++) { var i = (i + 1) % 256; var j = (j + seq[i]) % 256; var temp = seq[i]; seq[i] = seq[j]; seq[j] = temp; var k = (seq[i] + (seq[j] % 256)) % 256; das[x] = String.fromCharCode(das[x] ^ seq[k]); } return das.join(''); }
PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:
在線RC4加密/解密工具:
http://tools.jb51.net/password/rc4_encode
文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode
在線編碼轉(zhuǎn)換工具(utf-8/utf-32/Punycode/Base64):
http://tools.jb51.net/transcoding/decode_encode_tool
BASE64編碼解碼工具:
http://tools.jb51.net/transcoding/base64
在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha
在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript加密解密技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
css+js實現(xiàn)部分區(qū)域高亮可編輯遮罩層
下面介紹我在項目中實現(xiàn)的方式,全屏遮罩,部分區(qū)域可操作,需要的朋友可以參考下2014-03-03JavaScript通過attachEvent和detachEvent方法處理帶參數(shù)的函數(shù)
通過 attachEvent 和 detachEvent 方法處理帶參數(shù)的函數(shù)(示例代碼)2010-03-03JavaScript中json對象和string對象之間相互轉(zhuǎn)化
json對象和string對象之間的轉(zhuǎn)化已經(jīng)成為了大家耳熟能詳?shù)脑掝},本人今天就多啰嗦一些他們之間的故事,如有不對之處,還請各位海涵呢?不多說了直切主題2012-12-12javascript結(jié)合Canvas 實現(xiàn)簡易的圓形時鐘
本文給大家分享的是javascript結(jié)合Canvas 實現(xiàn)簡易的圓形時鐘,主要是對自己前段時間學(xué)習(xí)html5的canvas的一次小檢驗,這里推薦給小伙伴們,有需要的可以參考下。2015-03-03使用JavaScript動態(tài)設(shè)置樣式實現(xiàn)代碼(2)
使用onmouseover和onmouseout事件實現(xiàn)不同的效果而且是使用js動態(tài)實現(xiàn),本文有利于鞏固你js與css方面的知識,感興趣的你可以了解下哦,希望本文對你有所幫助2013-01-01使用Javascript判斷瀏覽器終端設(shè)備(PC、IOS(iphone)、Android)
WEB開發(fā)中如何通過Javascript來判斷終端為PC、IOS(iphone)、Android呢?可以通過判斷瀏覽器的userAgent,用正則來判斷手機是否是ios和Android客戶端,下面通過本文學(xué)習(xí)下吧2017-01-01