JavaScript保護(hù)密鑰的方法詳解
在前端js編程中,如果涉及到加密通信、加密算法,經(jīng)常會用到密鑰。
但密鑰,很容易暴露。 暴露原因:js代碼透明,在瀏覽器中可以查看源碼,從中找到密鑰。
例如,下面的代碼中,變量key是密鑰:

如何保護(hù)源碼中的密鑰呢?
很多時(shí)候,人們認(rèn)為需要對密鑰字符串進(jìn)行加密。其實(shí)更重要的是對存儲密鑰的變量進(jìn)行加密。
加密了密鑰變量,使變量難以找到,才更能保護(hù)密鑰本身。
順著這個思路,下面給出一個不錯的密鑰的保護(hù)方法:
還是以上面的代碼為例,
首先,用到j(luò)sfuck:
https://www.jshaman.com/tools/jsfuck.html
將代碼中的密鑰定義整體,用jsfuck加密:
var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

加密后得到一串奇怪的字符,這是將變量“key ”以及密鑰字符“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”隱藏了起來。

注意:加密時(shí)需要選中“在父作用域中運(yùn)行”,選中之后,key 變量的定義雖然不存在,但變量key是可用的!(這點(diǎn)很神奇)。也就是雖然代碼中沒有定義這個變量,但這個變量存在,且可用。而且它存儲的就是密鑰!

用加密后的代碼替換掉原來的代碼,變成如下形式:

運(yùn)行效果:

即時(shí)他人拿走代碼去調(diào)試,也會顯示變量key未定義,如下圖所示:

但,這時(shí)候還不足夠安全,還能更安全。
將整體JS代碼,再用JS加密工具:JShaman,進(jìn)行混淆加密:
https://www.jshaman.com

然后得到更安全、更難調(diào)試分析的JS代碼,這時(shí)密鑰就變的更安全了:

注:用ajax等異步傳遞密鑰時(shí),也可以使用這個辦法,也能很好的隱藏密鑰。
用jsfuck+jshaman保護(hù)JS中的密鑰,你學(xué)會了嗎?
到此這篇關(guān)于JavaScript保護(hù)密鑰的方法詳解的文章就介紹到這了,更多相關(guān)JavaScript保護(hù)密鑰內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MUI頂部選項(xiàng)卡的用法(tab-top-webview-main)詳解
最近用MUI做手機(jī)app應(yīng)用的時(shí)候,遇到的小bug,這里小編給大家分享MUI頂部選項(xiàng)卡的用法(tab-top-webview-main)詳解,感興趣的朋友一起看看吧2017-10-10
使用JavaScript實(shí)現(xiàn)alert的實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了js實(shí)現(xiàn)alert的方法,代碼簡單易懂,非常不錯,具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-07-07
js 方法實(shí)現(xiàn)返回多個數(shù)據(jù)的代碼
2009-04-04
JS解決Date對象在IOS中的“大坑” 以及時(shí)間格式兼容問題
這篇文章主要介紹了JS解決Date對象在IOS中的“大坑” 以及時(shí)間格式兼容問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
JavaScript實(shí)現(xiàn)的開關(guān)燈泡點(diǎn)擊切換特效示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的開關(guān)燈泡點(diǎn)擊切換特效,涉及javascript事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
bootstrap模態(tài)框跳轉(zhuǎn)到當(dāng)前模板頁面 框消失了而背景存在問題的解決方法
這篇文章主要介紹了bootstrap模態(tài)框跳轉(zhuǎn)到當(dāng)前模板頁面,框消失了,而背景依然存在問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
JS彈出層遮罩,隱藏背景頁面滾動條細(xì)節(jié)優(yōu)化分析
下面小編就為大家?guī)硪黄狫S彈出層遮罩,隱藏背景頁面滾動條細(xì)節(jié)優(yōu)化分析。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-04-04
JavaScript html5 canvas實(shí)現(xiàn)圖片上畫超鏈接
這篇文章主要為大家詳細(xì)介紹了JavaScript html5 canvas實(shí)現(xiàn)圖片上畫超鏈接,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10

