當前位置:首頁 » 密碼管理 » 安卓代碼加密

安卓代碼加密

發布時間: 2022-05-19 08:43:27

⑴ 求安卓加密,安卓應用加密方式

android是用java語言開發的,java語言,JDK給我們提供了非常多的加密演算法

如基本的單向加密演算法:

  1. BASE64 嚴格地說,屬於編碼格式,而非加密演算法

  2. MD5(Message Digest algorithm 5,信息摘要演算法)

  3. SHA(Secure Hash Algorithm,安全散列演算法)

  4. HMAC(Hash Message Authentication Code,散列消息鑒別碼)


復雜的對稱加密(DES、PBE)、非對稱加密演算法:

  1. DES(Data Encryption Standard,數據加密演算法)

  2. PBE(Password-based encryption,基於密碼驗證)

  3. RSA(演算法的名字以發明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)DH(Diffie-Hellman演算法,密鑰一致協議)

  4. DSA(Digital Signature Algorithm,數字簽名)

  5. ECC(Elliptic Curves Cryptography,橢圓曲線密碼編碼學)


以下就是講解BASE64、MD5、SHA、HMAC幾種方法

MD5、SHA、HMAC這三種加密演算法,可謂是非可逆加密,就是不可解密的加密方法。我們通常只把他們作為加密的基礎。單純的以上三種的加密並不可靠。


一. BASE64
按 照RFC2045的定義,Base64被定義為:Base64內容傳送編碼被設計用來把任意序列的8位位元組描述為一種不易被人直接識別的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)
常見於郵件、http加密,截取http信息,你就會發現登錄操作的用戶名、密碼欄位通過BASE64加密的。


二. MD5

MD5 -- message-digest algorithm 5 (信息-摘要演算法)縮寫,廣泛用於加密和解密技術,常用於文件校驗。校驗?不管文件多大,經過MD5後都能生成唯一的MD5值。好比現在的ISO校驗,都 是MD5校驗。怎麼用?當然是把ISO經過MD5後產生MD5的值。一般下載linux-ISO的朋友都見過下載鏈接旁邊放著MD5的串。就是用來驗證文 件是否一致的。


三. SHA

SHA(Secure Hash Algorithm,安全散列演算法),數字簽名等密碼學應用中重要的工具,被廣泛地應用於電子商務等信息安全領域。雖然,SHA與MD5通過碰撞法都被破解了, 但是SHA仍然是公認的安全加密演算法,較之MD5更為安全。


四. HMAC
HMAC(Hash Message Authentication Code,散列消息鑒別碼,基於密鑰的Hash演算法的認證協議。消息鑒別碼實現鑒別的原理是,用公開函數和密鑰產生一個固定長度的值作為認證標識,用這個 標識鑒別消息的完整性。使用一個密鑰生成一個固定大小的小數據塊,即MAC,並將其加入到消息中,然後傳輸。接收方利用與發送方共享的密鑰進行鑒別認證 等。

⑵ 安卓加密要怎麼做特別是針對二次打包與dex文件保護的加密。

防止Android
apk被反編譯的方法:
判斷apk簽名是否與原版簽名是否一致;
代碼混淆,將混淆的級別設置高點,混淆出來以後代碼全部變亂;
使用NDK編程,將核心演算法用c/c++來編寫,打包成so庫供java層調用

⑶ 如何加密android apk

代碼混淆:其實不能算是加密apk,因為它並不能防止反編譯,僅僅只是讓你的代碼可讀性降低。(即使別人反編譯了,也是一堆命名是A,B,C的東西,根本沒法看)
加殼:就是對你的apk裡面的源代碼加密,一般都會注入他們自己的一部分代碼(為了做到加密)。這種方式也有風險,有可能會被注入惡意代碼比如廣告什麼的。
一般應用來說,如果是上架正規應用市場,只需要代碼混淆就行了。

⑷ 有什麼好的方法可以做到安卓應用程序加密,從而對自己應用做安全應用保護.

Android由於其代碼是放在dalvik虛擬機上的託管代碼,一般都是用Java語音編寫存在天生缺陷。

進行精準APP安全漏洞檢測http://safe.ijiami.cn/,極大的節省了APP開發人員自身對APP漏洞分析投入的時間、精力。之後可提供一個全方位的APK加密保護服務並進行實時的渠道監測和信息反饋。開發者只需上傳一個應用APK包,其他所有操作均由系統和愛加密工作人員完成。加密後可防止被反編譯,嵌入病毒、惡意扣費SDK、廣告SDK等,防止被非法漢化,將安卓漏洞風險降為零。
愛加密對DEX文件、資源文件、主配文件、防二次打包、so庫文件(核心代碼)進行全方位保護,把靜態破解和動態破解拒之門外,使源代碼和應用堅不可摧。

⑸ 求解釋這段安卓代碼中的AES加密流程

AES加密過程涉及到 4 種操作,分別是位元組替代、行移位、列混淆和輪密鑰加。

1.位元組替換:位元組代替的主要功能是通過S盒完成一個位元組到另外一個位元組的映射。

2.行移位:行移位的功能是實現一個4x4矩陣內部位元組之間的置換。


4.輪密鑰加:加密過程中,每輪的輸入與輪密鑰異或一次(當前分組和擴展密鑰的一部分進行按位異或);因為二進制數連續異或一個數結果是不變的,所以在解密時再異或上該輪的密鑰即可恢復輸入。

5.密鑰擴展:其復雜性是確保演算法安全性的重要部分。當分組長度和密鑰長度都是128位時,AES的加密演算法共迭代10輪,需要10個子密鑰。AES的密鑰擴展的目的是將輸入的128位密鑰擴展成11個128位的子密鑰。AES的密鑰擴展演算法是以字為一個基本單位(一個字為4個位元組),剛好是密鑰矩陣的一列。因此4個字(128位)密鑰需要擴展成11個子密鑰,共44個字。

⑹ 安卓加密技術哪 家強安卓開發加密有哪些

安卓開發加密類型有源碼保護、反調試保護、內存保護、完整性保護,接下來詳細為各位介紹以上這些子項。
源碼保護,Dex函數體分離加殼:
對dex文件進行函數體分離加殼,在運行時動態載入函數體,以單個函數的方式還原到Java虛擬機中,能有效防止靜態編譯查看dex文件源碼以及通過mp手段mp出所有代碼。
源碼保護,Dex源碼native化
對dex文件進行native指令化轉化,並且以native方式還原到安卓內存中,即使使用mp手段mp出當前部分代碼,也是經過native處理過的代碼,不會還原成APP源代碼。

源碼保護,So文件混淆加密

對SO文件做加密和自定義載入處理,除此之外還會對SO文件中字元串加密和代碼混淆處理,層層防止攻擊者提取SO文件和對其二進制代碼做反編譯和反匯編處理。

...........
可以看看參考資料:安卓加密 http://www.kiwisec.com/proct/apkEncrypt.shtml
希望以上簡單介紹能夠幫助到你。

⑺ Android APP加密方法都有哪些

安卓APP加密的方法主要分成三類:源碼加密、數據安全和應用保護,而每一類又分成好幾個小項。
源碼加密包括:Dex文件保護、防二次打包、so文件保護、資源文件保護。以Dex文件保護為例,Dex文件保護又包括:高級混淆、DEX文件加殼、DEX文件加花、動態類載入、內存防mp。
高級混淆:代碼混淆,可以降低代碼可讀性、縮小包大小。
DEX文件加殼:相當於把源碼打包至其他文件夾下,逆向工具對加密後的dex文件解析,只能看到殼文件,可以防止解包後看到真正的源碼。愛加密利用挖空技術實現函數級加密,安全強度高,啟動效率快。
dex加花:由於大部分逆向工具都是線性讀取位元組碼並解析,當遇到無效位元組碼時就會引起反編譯工具位元組碼解析失敗。愛加密插入無效位元組碼到dex文件之中,同時保證該位元組碼永遠不會被執行,否則程序運行也會崩潰。這樣,就能起到反編譯的作用了。
dex動態類載入:愛加密加固後的dex文件源碼可以動態分離,在運行時,將源碼分段載入到內存當中。
內存防mp:程序運行時會釋放代碼,內存防mp可以防止程序運行時被劫持。
應用安全包括:log日誌輸入屏蔽、應用清場。清場技術依賴於雲端黑名單、白名單DB,應用每次啟動後便自動進行本地的黑名單、白名單DB數據更新,若檢測到有異常情況,則可對用戶進行提示。
數據安全包括:頁面防劫持、本地數據保護、截屏保護、內存數據防查詢、協議加密、虛擬鍵盤。

⑻ 安卓加密的安卓開發術語

1.混淆源碼。代碼混淆(Obfuscatedcode)亦稱花指令,可以藉助一些工具,市場有很多高級混淆代碼工具。花指令的基本原理是由設計者特別構思一些指令,可以使反匯編的時候出錯,讓破解者無法清楚正確地反匯編程序的內容,迷失方向。文件夾混淆是利用Android系統環境下的文件夾名的特殊性來對源碼文件夾進行混淆,讓混淆後的文件夾在Window看起來失去原有的邏輯性,但是完全不影響其在Android系統上的運行。Android技術驗證的原理是在代碼啟動的時候本地獲取簽名信息後對簽名信息進行檢驗來判斷自己的應用是否是正版,如果簽名信息不是正版則提示盜版或者直接崩潰。
2.使用偽加密保護方式,通過java代碼對APK(壓縮文件)進行偽加密,其修改原理是修改連續4位位元組標記為」PK0102」的後第5位位元組,奇數表示不加密偶數表示加密。偽加密後的APK不但可以防止PC端對它的解壓和查看也同樣能防止反編譯工具編譯。
3.通過標志尾添加其他數據從而防止PC工具解壓反編譯,這樣處理後把APK看做壓縮文件的PC端來說這個文件被破壞了,所以你要對其進行解壓或者查看都會提示文件已損壞,用反編譯工具也會提示文件已損壞,但是它卻不會影響在Android系統裡面的正常運行和安裝而且也能兼容到所有系統
4.對DEX、RES、SO庫等主要文件進行加密保護。Dex文件是APK中最重要、最需要保護的,因為dex中存放了代碼的信息,如果是一個沒有做過任何保護的APK,破解者通過使用dex2jar和jd-gui簡單幾步就可以查看到源碼。同樣,SO庫文件是APK的核心代碼,一旦被破解,APK就很容易被破解了。不過這方面對開發者的技術要求很高,想要簡單的話,就藉助類似於愛加密這種第三方工具。通過使用加殼技術,對dex文件做了一層保護殼,這樣破解者就無法通過正常手段反編譯出代碼文件,從而保護代碼的安全。

⑼ android 加密方式有哪些

安卓APP加密的方法主要分成三類:源碼加密、數據安全和應用保護,而每一類又分成好幾個小項。 源碼加密包括:Dex文件保護、防二次打包、so文件保護、資源文件保護。以Dex文件保護為例,Dex文件保護又包括:高級混淆、DEX文件加殼、DEX文件加花、。可以看看安卓巴士的教程:http://www.apkbus.com/thread-312020-1-1.html

⑽ android加密演算法有哪些

android中用的到加密:

  1. Https編程 :應該是使用帶安全的網路協議處理。除非你本地需要加密

2.數據簽名:混淆代碼和防二次打包的APK加密技術

3.對稱加密:可以先將數據通過某種加密方式加密發送到伺服器端,然後伺服器端再解密 ,項目中除了登陸,支付等介面採用rsa非對稱加密,之外的採用aes對稱加密

4.非對稱加密====支付寶

數字摘要是指通過演算法將長數據變為短數據,通常用來標識數據的唯一性,是否被修改,常用的加密演算法有md5和sha1兩種,如Android的App簽名也是用的這兩種演算法。

由於以上兩種生成數字摘要的演算法都是不可逆的,對於可逆的加密演算法中,按照密鑰的數量和加密規則一半分為對稱加密和非對稱加密兩類:

對稱加密:

密鑰可以自己指定,只有一把密鑰,如果密鑰泄漏數據就會暴漏;

常用的對稱加密演算法有DES和AES兩種;

特點是加密速度快,但是缺點是安全性低,因為只要密鑰暴漏,數據就可以被解密。

非對稱加密的特點:

常見的非對稱加密演算法是RSA;

他有兩把密鑰,且是由程序生成的,不能自己指定;

特點是加密速度比較慢,但是安全性比較高;

加密和解密的規則是:公鑰加密只能私鑰解密,私鑰加密只能公鑰解密;

熱點內容
安卓視頻轉換器怎麼使用 發布:2025-05-20 09:20:52 瀏覽:543
telnet批量腳本 發布:2025-05-20 09:11:58 瀏覽:627
搭建jrebel伺服器 發布:2025-05-20 08:57:40 瀏覽:902
安卓手機上網怎麼連接電腦 發布:2025-05-20 08:28:30 瀏覽:548
福建公積金密碼是什麼 發布:2025-05-20 08:28:13 瀏覽:507
學習編程用什麼軟體好 發布:2025-05-20 08:27:28 瀏覽:599
我的世界電腦版伺服器小游戲怎麼下載 發布:2025-05-20 08:17:12 瀏覽:533
離線語音識別android 發布:2025-05-20 08:11:37 瀏覽:153
小鳥雲如何去看客戶伺服器密碼 發布:2025-05-20 07:58:51 瀏覽:898
怎麼更改app的密碼 發布:2025-05-20 07:54:32 瀏覽:784