① 有可以對源代碼加密軟體嗎,防員工泄密
目前我所知道的對源代碼加密的辦法有兩種:一種是物理性的「源代碼加密」,一種是軟體性的源代碼加密。
物理性「源代碼加密」就是指截斷外網,封掉U口或者鎖機箱,讓開發者處於一種封閉的狀態。這種方法是可以達到效果的,弊端就是如若封掉U口,對於員工的工作使用會造成很大的影響,大大降低了工作的效率,並且員工開發查資料很不方便,如若給每人配一台電腦,公司的成本將大大提高。這樣的操作方式員工的抵觸心裡也會頗大。
軟體性的源代碼加密是指通過軟體對源碼進行保護。目前市面上最流行的源代碼加密軟體機制是一種對開發人員的操作環境進行加密的軟體,不用對任何硬體做修改,開發人員的源代碼只能存放在公司范圍里,拿不出加密的空間。如果想要拿出文件的話則需走審批流程。
推薦使用SDC沙盒,選它的原因第一廠商服務挺好,第二加密時不改變源文件類型、大小,而且開發人員可以自由上網並且不用擔心泄密。這樣跟我們公司的需求正好吻合,也不會影響到員工的開發情緒,員工也可以自由上網查詢資料。
② php源碼怎麼加密
一、無需任何PHP擴展的加密
此類加密的代表有 威盾PHP加密專家、PHP在線加密平台、PHP神盾 等。
此類加密都是以eval函數為核心,輔以各式各樣的字元串混淆和各種小技巧,來達到加密目的(更准確的說,應該算是混淆)。下面以一個簡單的hello world為例來說明此類加密的大體過程。
<?php
echo "hello world";
首先 ,我們把這段代碼變為通過eval執行的
<?php
eval('echo "hello world";');
然後 ,我們再進行一些轉換,比如說base64編碼
<?php
eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));
就這樣子,我們的第一個加密過的php代碼新鮮出爐了。。。
上面這個例子非常非常簡單,基本上任何有一點php語言基礎甚至別的語言基礎的人都能輕松的看懂並解密。因此,我們需要一些方法讓這個加密至少看上去不是那麼簡單。
二、同時採用多種編碼函數
除了剛才提到的base64,php還有許多內置的編碼函數,例如urlencode、gzcompress等。把這些函數混合使用可以提高解密的復雜度(不是難度),此外還可以使用strtr來制定自己的編碼規則。 使用變數來代替函數名 使用特定字元來命名變數
這兒所說的特定字元是一些極其相似的字元,如I和1,0和O。試想一下滿屏都是O和0組成的變數,並且每一個的名字長度都在10個字元以上。。。 判斷文件自身是否被修改
這個功能看似容易,對文件做一下摘要再進行下對比即可知道是否被修改了,但是如何才能在文件內把摘要嵌入進去呢?我沒有找到完美的方案,但一個變通的方案還是很容易的。。。
<?php
$code = substr(file_get_contents(__FILE__), 0, -32);
$hash = substr(file_get_contents(__FILE__), -32);
if (md5($code) !== $hash) {
exit('file edited');
}
當然,你可以把這個校驗字元串放在別的位置來提高破解的難度。有了這個,別人想破解你的程序可就得多費一點功夫了。。。
既然知道了原理,那解密自然也就非常簡單了,總體來說就三步:
把eval替換為輸出,比如echo 根據編碼規則把字元串還原 如果文件未解密完全,從第一步開始繼續
當然,實際上的解密過程並沒有這么簡單,比如說如果加密的時候使用了gzcompress,那得到的數據將會包含一些二進制數據,而採用一般的文本編輯器打開時這些數據都會顯示為亂碼,並且在保存時丟失部分數據。解決方法很簡單也很麻煩,那就是使用二進制(16進制)方式打開、修改和保存。
③ 源代碼的文件可以加密保護嗎
可以的
綠盾加密軟體支持與SVN等源代碼管理工具無縫結合。
如果企業內部SVN伺服器採取透明模式,即加密文件是可以存放在SVN伺服器上的,需要達到的效果是SVN伺服器上文件密文存儲。則配合天銳綠盾應用伺服器安全接入系統來實現只有安裝了加密客戶端的Windows、Linux、MAC端才能夠正常的訪問公司內部的SVN伺服器。
如果企業內部採用eclipse、VS等開發工具,從這些開發工具將代碼直接上傳到SVN伺服器上時會自動解密。為了避免明文、密文混亂存放導致版本比對時出現錯誤等問題。因此,SVN伺服器上需統一存放明文文件。則通過伺服器白名單功能實現對終端電腦數據進行強制透明加密,對上傳到應用伺服器數據實現上傳自動解密、下載自動加密。再配合天銳綠盾應用伺服器安全接入系統實現只有安裝了加密客戶端的Windows、Linux、MAC端才能夠正常的訪問公司內部的SVN伺服器。
④ js如何加密源代碼,頁面樣式全部用js寫,如何操作
js是不能加密源碼的,換個說法,作為一種解釋性語言,如果你加密了源碼,瀏覽器怎麼解釋你的js腳本。
不過可以用插件自動壓縮。壓縮過程中,會把一些變數用a/b/c代替,而且會移除空格和換行。這會大大增加源碼閱讀難度,但是也起不到加密的作用。
如果是electron開發,可以用asar對源碼進行打包,不過這種就屬於客戶端,不是網頁了。
⑤ 數據加密,源代碼加密用迅軟DSE好不好啊
可以啊,迅軟的一款文件加密的產品挺不錯的,調研了很久比較了很多最終選的他們的,用起來確實穩定,沒什麼問題。
⑥ 誰能告訴我,源代碼加密,用什麼可以
這個就要用專業的源代碼加密軟體去加密了。因為源代碼涉及到的編譯環境會相對復雜的。我目前了解到就是天銳綠盾這個品牌的加密軟體。
綠盾源代碼加密系統在不改變研發人員原有工作習慣和工作流程的情況下,對EditPlus、Notepad++、ultraEdit、Eclipse、MyEclipse、 Keil、Visusl
studio等源代碼開發工具,以及CAM350、PADS、Altium
Designer、Cadence、MentorGraphics等電路設計軟體進行受控加密保護。源代碼文件加密後,不影響軟體的正常編譯,合法用戶正常雙擊打開,在授權范圍內使用。
⑦ 加密後的Php源碼為什麼能被直接運行原理是什麼
加密後的源碼看起來能直接運行,其實在後台,這些源碼在運行之前會被解密,當然這些解密動作對用戶來說是看不見的,所以看起來加密後的源碼看起來能直接運行。