[發(fā)明專利]應(yīng)用于Python項(xiàng)目的加密保護(hù)方法有效
| 申請(qǐng)?zhí)枺?/td> | 202210119748.8 | 申請(qǐng)日: | 2022-02-09 |
| 公開(kāi)(公告)號(hào): | CN114154123B | 公開(kāi)(公告)日: | 2022-05-17 |
| 發(fā)明(設(shè)計(jì))人: | 杜邦豪;張永元 | 申請(qǐng)(專利權(quán))人: | 北京天防安全科技有限公司 |
| 主分類號(hào): | G06F21/12 | 分類號(hào): | G06F21/12;G06F21/14;G06F21/60 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 100089 北京市海淀*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 應(yīng)用于 python 項(xiàng)目 加密 保護(hù) 方法 | ||
本公開(kāi)的實(shí)施例提供了應(yīng)用于Python項(xiàng)目的加密保護(hù)方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。所述方法包括獲取Python項(xiàng)目;遍歷所述Python項(xiàng)目,讀取項(xiàng)目中源碼文件的內(nèi)容,并通過(guò)AES加密算法對(duì)該內(nèi)容進(jìn)行加密,得到密文字符串;對(duì)所述密文字符串進(jìn)行編碼,保存到加密目錄下的同名文件夾,完成對(duì)所述Python項(xiàng)目的加密。以此方式,可以有效防止源碼泄漏和被非法破解。
技術(shù)領(lǐng)域
本公開(kāi)的實(shí)施例一般涉及數(shù)據(jù)加密領(lǐng)域,并且更具體地,涉及應(yīng)用于Python項(xiàng)目的加密保護(hù)方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
Python簡(jiǎn)單易用,標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)眾多,功能強(qiáng)大等優(yōu)點(diǎn),選擇Python開(kāi)發(fā)的人越來(lái)越多,但由于Python 自身動(dòng)態(tài)特性和開(kāi)源特點(diǎn),很難對(duì)Python項(xiàng)目的源碼進(jìn)行很好的加密防護(hù),尤其是基于Python開(kāi)發(fā)的商業(yè)項(xiàng)目,若要對(duì)項(xiàng)目進(jìn)行打包分發(fā),又要防止源碼泄漏或破解,目前已知的幾種Python源碼保護(hù)方式都無(wú)法滿足商業(yè)保護(hù)的要求。
目前已經(jīng)存在的Python源碼保護(hù)方式主要有發(fā)行.pyc文件、代碼混淆、使用Cython、定制Python解釋器等。下面詳細(xì)闡述現(xiàn)有方法的優(yōu)缺點(diǎn)。
(1)發(fā)行.pyc
該方法是將.py源碼文件進(jìn)行編譯直接生成.pyc文件。
優(yōu)點(diǎn):簡(jiǎn)單方便,Python標(biāo)準(zhǔn)庫(kù)中提供了compileall庫(kù),可以輕松的進(jìn)行編譯,提高了一點(diǎn)源碼破解難度,且平臺(tái)兼容性好,.py可以運(yùn)行的地方,.pyc就能在那里運(yùn)行。
缺點(diǎn):解釋器兼容性差,只能在特定版本的解釋器上運(yùn)行,針對(duì).pyc文件,有現(xiàn)成的反編譯工具,破解難度和成本低。
(2)代碼混淆
將.py源碼文件經(jīng)過(guò)一定的技術(shù)手段進(jìn)行轉(zhuǎn)換或增加無(wú)效代碼等方式,將原先可讀性較強(qiáng)的源碼變成可讀性很差甚至難以理解以達(dá)到源碼保護(hù)的目的。
優(yōu)點(diǎn):簡(jiǎn)單方便,提高了源碼破解門檻,兼容性好,只要源碼可以運(yùn)行,混淆代碼也可運(yùn)行。
缺點(diǎn):只能針對(duì)單個(gè)文件混淆,無(wú)法做到多個(gè)有聯(lián)系的源碼文件聯(lián)動(dòng)混淆,且代碼結(jié)構(gòu)未發(fā)生改變,會(huì)生成.pyc文件,破解難度低。
(3)使用Cython
通過(guò)Cython這個(gè)工具將 .py/.pyx 編譯為 .c 文件,再將 .c 文件編譯為 .so(Unix) 或 .pyd(Windows)格式的文件,源碼文件經(jīng)過(guò)二次編譯轉(zhuǎn)換后,大大提高了破解的難度。
優(yōu)點(diǎn):生成二進(jìn)制.so或.pyd文件,難破解,同時(shí)也提升了性能。
缺點(diǎn):兼容性稍差,對(duì)于不同版本的操作系統(tǒng),可能需要重新編譯,雖然支持大多數(shù) Python 代碼,因涉及到二次編譯,一旦發(fā)現(xiàn)部分代碼無(wú)法編譯或無(wú)法支持,后續(xù)的完善成本較高。
(4)定制Python解釋器
采用對(duì)稱加密(DES、3DES、AES等)方法對(duì)源碼文件進(jìn)行加密,同時(shí)對(duì)加密密鑰采用非對(duì)稱加密方法(RSA、Elgamal等)進(jìn)行再次加密,并將加密過(guò)的密鑰隨同加密文件一同打包分發(fā),為了便于對(duì)加密密鑰和加密文件進(jìn)行解密和執(zhí)行,需要對(duì)Python解釋器進(jìn)行修改和定制。
優(yōu)點(diǎn):使用對(duì)稱加密算法,破解難度提升;兼容性好,源碼可以運(yùn)行的地方,加密后的代碼也能運(yùn)行。
缺點(diǎn):需要修改和定制Python解釋器,否則無(wú)法進(jìn)行解密和執(zhí)行,同時(shí)文件運(yùn)行時(shí)會(huì)生成.pyc文件,需要在解釋器屏蔽生成.pyc文件,處理方式比較復(fù)雜。
發(fā)明內(nèi)容
根據(jù)本公開(kāi)的實(shí)施例,提供了一種應(yīng)用于Python項(xiàng)目的加密保護(hù)方案。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京天防安全科技有限公司,未經(jīng)北京天防安全科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210119748.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 一種基于Python語(yǔ)言的網(wǎng)格系統(tǒng)實(shí)現(xiàn)方法
- 一種基于模塊鉤子的Python字節(jié)碼文件保護(hù)方法
- 一種通過(guò)加密Python明文源碼token的知識(shí)產(chǎn)權(quán)保護(hù)系統(tǒng)
- 一種創(chuàng)建Python沙盒環(huán)境的方法及電子設(shè)備
- 圖形化Python編程交互方法、系統(tǒng)及電子設(shè)備
- 一種基于Ambari實(shí)現(xiàn)Python組件管理的方法
- 一種基于Java自動(dòng)調(diào)用Python腳本的方法
- Python與Scratch交互式編程方法及電子設(shè)備
- 一種 Python 源碼安全防護(hù)的實(shí)現(xiàn)方法及系統(tǒng)
- 一種生成python項(xiàng)目結(jié)構(gòu)圖的方法、系統(tǒng)及介質(zhì)
- 一種項(xiàng)目信息處理方法及系統(tǒng)
- 軟件項(xiàng)目管理方法、終端及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種基于微信公眾號(hào)的線上項(xiàng)目申請(qǐng)審批的方法及系統(tǒng)
- 一種項(xiàng)目管理系統(tǒng)及方法
- 一種建筑項(xiàng)目綜合管理系統(tǒng)
- 一種項(xiàng)目管理方法、裝置及設(shè)備
- 項(xiàng)目管理方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 項(xiàng)目管理系統(tǒng)、方法、計(jì)算機(jī)設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種電力項(xiàng)目業(yè)務(wù)中臺(tái)及其微服務(wù)系統(tǒng)
- 一種基于標(biāo)簽確定項(xiàng)目成員的方法、裝置以及存儲(chǔ)介質(zhì)
- 加密裝置、加密系統(tǒng)、加密方法以及加密程序
- 移動(dòng)終端和方法
- 再加密方法、再加密系統(tǒng)以及再加密裝置
- 加密終端遠(yuǎn)程管理的方法、加密終端及管理器
- 數(shù)據(jù)加密的方法及裝置
- 流媒體數(shù)據(jù)加密、解密方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 加密裝置、加密系統(tǒng)和數(shù)據(jù)的加密方法
- 文件加密、解密方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 一種車聯(lián)網(wǎng)數(shù)據(jù)加密方法及系統(tǒng)
- 一種服務(wù)數(shù)據(jù)共享云平臺(tái)的數(shù)據(jù)加密方法及系統(tǒng)





