[英]Encoding/Decoding Javascript in Nashorn
我使用此處描述的技術: http : //scriptasylum.com/tutorials/encode-decode.html
簡而言之,有一個如下所示的javascript文件,其中實際的javascript編碼如下:
document.write( unescape( 'escaped string' ) ); dF('encoded javascript');
我現在想在Nashorn下運行相同的.js模塊,但是Nashorn沒有文檔對象。 因此,我不能執行document.write()。
注意:眾所周知,此技術很容易被繞開,人們只有中等技術才能仍然可以查看實際代碼。 我的用例不需要強大的安全性,因此不必擔心。 就是說,請考慮有關為什么不應該將此作為主題的答案。 謝謝。
基本上,該代碼分為兩部分:
通過unescape
混淆字符串。
通過document.write.
將字符串寫出document.write.
聽起來您出於某種原因想直接使用該字符串。
您至少有兩個選擇:
您可以使用接受字符串的write
方法將document
對象提供給腳本引擎。 然后,您可以隨心所欲地使用它。 (或者在使用您要調用的任何函數評估字符串之前,用document.write
代替。)
最后刪除document.write(
和相應的)
,讓引擎評估該字符串並將其作為ScriptEngine#eval
的結果直接交給您。
無論哪種方式,您都將得到一個字符串,然后可以使用它進行處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.